Oracle ADFページのライフサイクルでは、ページのレンダリング前にADFモデルを準備します。このライフサイクルを使用して、ADFデータ・コントロールを使用するJSF、Strutsまたはモデル1の各アプリケーションでADFモデルをサポートできます。
アプリケーションの各ページのライフサイクルを個別にカスタマイズできます。詳細は、「ページのOracle ADFライフサイクルのカスタマイズ」を参照してください。
また、アプリケーションのすべてのページに異なるページ・ライフサイクル・インスタンスを戻す独自のライフサイクル・ファクトリを作成して、アプリケーション全体のライフサイクルをカスタマイズすることもできます。
このトピックでは、このレベルでのカスタマイズについて説明します。項目は次のとおりです。
JSFアプリケーションのデフォルトのADFライフサイクルを置換するには、ADFPhaseListener
クラスを拡張する新規のフェーズ・リスナーを作成します。この新規フェーズ・リスナーは、ページのライフサイクルのファクトリとして機能します。
JSFアプリケーションのデフォルトのADFライフサイクルを置換する手順は、次のとおりです。
アプリケーション・レベルで使用する新規のカスタム・ページ・ライフサイクルを作成します。
そのためには、oracle.adf.controller.faces.lifecycle.FacesPageLifecycle
を拡張するクラスを作成し、必要に応じてカスタマイズを追加します。この手順に示すサンプル・コードの目的上、このクラスをMyFacesPageLifecycle
と呼びます。
ライフサイクル・ファクトリを作成します。
そのためには、oracle.adf.controller.faces.lifecycle.ADFPhaseListener
を拡張するクラスを作成します。この例では、MyPhaseListener
とします。
ADFPhaseListener
を拡張するクラス(MyPhaseListener
など)で、メソッドcreatePageLifecycle
をオーバーライドし、必要なタイプのページ・ライフサイクルの新規インスタンスを作成します。次に例を示します。
protected PageLifecycle createPageLifecycle()
{
return new MyFacesPageLifecycle();
}
このメソッドは、アプリケーションごとに1回のみコールされます。
JSF構成ファイル(faces-config.xml
)内で、<phase-listener>
エントリを置換します。
そのためには、JSF構成エディタの「概要」タブを選択してfaces-config.xml
ファイルを開きます。JSF構成エディタの左に表示されるリストで、「ライフ・サイクル」を選択して「編集」をクリックします。oracle.adf.controller.faces.lifecycle.ADFPhaseListener
を、新規ライフサイクル・ファクトリのパスと名前(myPackage.MyPhaseListener
など)で置き換えます。
このJSF構成ファイルをXMLエディタで表示すると、コードは次のようになっています。
<lifecycle>
<phase-listener>myPackage.MyPhaseListener</phase-listener>
</lifecycle>
StrutsアプリケーションのデフォルトのADFライフサイクルを置換するには、PageLifecycleFactory
を拡張する新規クラスを作成し、Struts構成ファイル内で新規クラス用のStrutsプラグインを構成します。
StrutsアプリケーションのデフォルトのADFライフサイクルを置換する手順は、次のとおりです。
アプリケーション・レベルで使用する新規のページ・ライフサイクル・ファクトリを作成します。
そのためには、PageLifecycleFactory
を拡張するクラスを作成します。これにより、すべてのWebページ用の代替PageLifecycle
が提供されます。
新規ファクトリ用のStrutsプラグインを構成します。PageLifecycleFactoryPlugin
を使用します。
そのためには、アプリケーション・ナビゲータでStruts構成ファイルを右クリックして「プロパティ」を選択します。Struts構成エディタの左に表示されるリストから「Plugin」を選択します。プラグインを次のように追加します。
クラス名: oracle.adf.controller.struts.actions.PageLifecycleFactoryPlugin
プロパティ: lifecycleFactory
値: 新規ファクトリのパッケージと名前(myPackage.myStrutsLifecycleFactory
など)
Struts構成エディタの使用方法のヘルプを表示するには、いずれかの画面またはダイアログで「ヘルプ」をクリックします。
このStruts構成ファイルをXMLエディタで表示すると、プラグインのコードは次のようになっています。
<plug-in className="oracle.adf.controller.struts.actions.PageLifecycleFactoryPlugin">
<set-property
property="lifecycleFactory"
value="myPackage.myStrutsLifecycleFactory"/>
</plug-in>
StrutsアプリケーションのデフォルトのADFライフサイクルを置換するには、PageLifecycleFactory
を拡張する新規クラスを作成し、そのクラスをアプリケーションのweb.xml
ファイル内で構成します。
モデル1アプリケーションのデフォルトのADFライフサイクルを置換する手順は、次のとおりです。
アプリケーション・レベルで使用する新規のページ・ライフサイクル・ファクトリを作成します。
そのためには、PageLifecycleFactory
を拡張するクラスを作成します。これにより、すべてのWebページ用の代替PageLifecycle
が提供されます。
アプリケーションのweb.xml
ファイル内で、置換ライフサイクル・ファクトリをADFPageLifecycleFactory
として構成します。
そのためには、アプリケーション・ナビゲータでweb.xmlファイルを右クリックして「プロパティ」を選択します。「Webアプリケーション・デプロイメント・ディスクリプタ」ダイアログの左に表示されるリストから「コンテキストの初期化」を選択して「追加」をクリックします。
「名前」にADFPageLifecycleFactory
と入力します。「値」に、新規のライフサイクル・ファクトリ・クラスのパスと名前(mypackage.myLifecycleFactory
など)を入力します。
このweb.xml
ファイルをXMLエディタで表示すると、新規コンテキスト・パラメータのコードは次のようになっています。
<web-app>
...
<context-param>
<param-name>ADFPageLifecycleFactory</param-name>
<param-value>mypackage.myLifecycleFactory</param-value>
</context-param>
...
</web-app>
プロジェクトのテクノロジ・スコープに含まれる全クラスのコードまたはJavadocを表示できます。特に、ADFライフサイクルを実装するクラス、独自のライフサイクル・ファクトリの拡張に必要なクラスについて、コードとJavadocを参照できます。
テクノロジ・スコープ内にあるクラスのコードまたはJavadocを表示する手順は、次のとおりです。
「ナビゲート」→「Javaクラスに移動」を選択します。
ダイアログの「名前」フィールドにクラス名を入力するか、「参照」をクリックしてクラスを参照します。
「ソース」または「Javadoc」を選択して「OK」をクリックします。
Oracle ADFページのライフサイクルについて
Oracle ADFライフサイクルのフェーズについて
ページのOracle ADFライフサイクルのカスタマイズ
Oracle ADFでの名前付きイベントの使用
ビジネス・サービス・メソッドの実行
ADFライフサイクル・クラスの詳細は、次のJavadocを参照してください。
Oracle Application Development FrameworkライフサイクルAPIリファレンス
Copyright © 1997, 2006, Oracle. All rights reserved.