ADFページのライフサイクルでは、ページのレンダリング前にADFモデルを準備します。このライフサイクルを使用して、ADFデータ・コントロールを使用するJSF、Strutsまたはモデル1の各アプリケーションでADFモデルをサポートします。
このトピックでは、次の項目について説明します。
ADFモデルを使用するWebページはすべて、ページのレンダリング前に、適切に定義された多数のフェーズを通過します。ADFページのライフサイクルでは、必要な各フェーズと実行順序を定義します。ライフサイクル・フェーズの詳細は、「Oracle ADFライフサイクルのフェーズについて」を参照してください。
Oracle ADFで作成するアプリケーションは、Oracle ADFライフサイクルの実装を使用します。ライフサイクルの各フェーズの実行順序は、ライフサイクル・プロセッサにより制御されます。また、ライフサイクルでは、JSFアプリケーションなどでライフサイクルの拡張に使用されているリスナーに、適切なフェーズの前後に確実に通知されます。
Webページに必要なデータは、ページ定義に定義します。データを必要とするページごとに、固有のページ定義ファイルが存在します。詳細は、「ADF固有のプロジェクト・ファイルについて」を参照してください。
ADFライフサイクルでは、ページのページ定義(ページのデータに対するバインディングを定義)を使用して、レンダリングするデータを準備します。データはページのレンダリング前にプールされ、ローカルに格納されます。ライフサイクルにより、Webページのレンダリング前にデータベースへの追加ラウンドトリップが発生しなくなり、レンダリング・プロセス中のアプリケーション・パフォーマンスが向上します。
各Webページには、ページ定義で定義済のADFコントロール・バインディングにバインドされているUIコンポーネントがレンダリングされます。
アプリケーション用のWebページを作成するときに、そのページのページ定義ファイルを作成してデータ・バインディングを定義します。アプリケーションのDataBindingsファイルでは、アプリケーションの全ページのページ定義ファイルを識別します。
ページのライフサイクルの実行時に、ライフサイクルの存続時間中はページ定義が1つ使用されます。このページ定義は、WebページのUIコンポーネントにより参照されます。各ライフサイクルでは特定のページ定義が使用されます。1つのリクエスト中に複数のライフサイクルを実行できますが、少なくともその1つで、レンダリング対象ページに使用するページ定義を準備する必要があります。
JSFアプリケーションのページは、JSFページのライフサイクルの各フェーズをたどります。その際に多数のフェーズでADFライフサイクルのフェーズと同じ操作が実行されるため、ADFライフサイクルの一部のフェーズは不要であり、必要なフェーズを適切なJSFページのライフサイクルのフェーズと統合する必要があります。ADFライフサイクルのフェーズは、適切なJSFページのライフサイクルのフェーズの前または後に、一連のイベントの適切な位置で実行されます。JSFライフサイクルとADFライフサイクルの統合方法の詳細は、「JSFアプリケーションとOracle ADFコントローラについて」を参照してください。
JSFアプリケーションでは、次のクラスを使用します。
oracle.adf.controller.faces.lifecycle.FacesPageLifecycle
このクラスは、次に示すようにPageLifecycleクラスを拡張します。
ライフサイクル・クラス階層のダイアグラムについては、「ライフサイクル・クラス」を参照してください。
Strutsにはコントローラ機能が用意されており、ページのライフサイクルをWebページ外部のDataActionというカスタムStrutsアクションから実行できます。DataActionは、ADFライフサイクルを実行する操作をライフサイクル・プロセッサに委譲します。ページのページ定義ファイルは、DataBindingsファイル内で識別されます。ページ定義ファイルにより、ページのデータ・バインディングが定義されます。
Strutsアプリケーションでは、ページのページ・ライフサイクルを実装するStrutsPageLifecycle
クラスを使用します。このクラスは、次の図に示すようにPageLifecycle
を拡張します。
ライフサイクル・クラス階層のダイアグラムについては、「ライフサイクル・クラス」を参照してください。
ライフサイクルは、ページの先頭にあるJSPタグ<adf:pagedefinition/>
を使用してJSP内部から実行されます。
モデル1アプリケーションでは、次のクラスを使用します。
oracle.adf.controller.v2.lifecycle.PageLifecycleImpl
ライフサイクル・クラス階層のダイアグラムについては、「ライフサイクル・クラス」を参照してください。
すべてのライフサイクル・クラスは、ライフサイクル・コンテキストを使用して、ライフサイクル・メソッドで必要なパラメータを指定します。
次のダイアグラムに、oracle.adf.controller.v2.lifecycle
パッケージ内のライフサイクル・クラスのクラス階層を示します。
これらのADFライフサイクル・クラスの動作をカスタマイズできます。ライフサイクル・メソッドはオーバーライドできますが、メソッドのコール順序は変更できません。
ライフサイクル・インタフェースと、それを実装するクラスの詳細は、次のJavadocを参照してください。
oracle.adf.controller.v2.lifecycle.Lifecycle
また、アプリケーションのテクノロジ・スコープ内にあるクラスのソース・コードまたはJavadocも表示できます。
テクノロジ・スコープ内にあるクラスのコードまたはJavadocを表示する手順は、次のとおりです。
「ナビゲート」→「Javaクラスに移動」を選択します。
ダイアログの「名前」フィールドにクラス名を入力するか、「参照」をクリックしてクラスを参照します。
「ソース」または「Javadoc」を選択して「OK」をクリックします。
Oracle ADFデータ・コントロールについて
Oracle ADFコントローラについて
Oracle ADFライフサイクルのフェーズについて
アプリケーションのOracle ADFライフサイクルのカスタマイズ
ページのOracle ADFライフサイクルのカスタマイズ
Copyright © 1997, 2006, Oracle. All rights reserved.