Oracle ADFで作成するアプリケーションは、Oracle ADFライフサイクル・インタフェースの実装を使用します。このインタフェースには、Webページのアクションをモデル・データ・バインディングに接続する際に必要なフックが用意されています。ライフサイクルは、Webページに必要な正しいバインディング・コンテナをコールし、バインディング・コンテナ内のバインディングに基づいて、レンダリングされるデータを準備します。バインディング・コンテナは、ページをレンダリングする前に、データをプールしてローカルで保存します。ライフサイクルは、Webページがレンダリングされる前の、データベースに対する不要なラウンドトリップを回避することで、レンダリング・プロセス中のアプリケーションのパフォーマンスを向上させます。
ライフサイクル・インタフェースの動作は、Strutsコントローラから独立しているため、モデル1アプリケーションとモデル2アプリケーションのどちらもライフサイクル・インタフェースを使用します。ライフサイクルは、次の処理を実行します。
Oracle ADFライブラリには、ライフサイクル・クラスがいくつか用意されています。選択するテクノロジ・スコープによって、アプリケーションで使用するライフサイクル・クラスが決まります。
oracle.adf.controller.lifecycle.PageLifecycle
クラスを使用します。このクラスは、oracle.adf.controller.lifecycle.Lifecycle
インタフェースを実装します。
oracle.adf.controller.struts.actions.StrutsPageLifeCycle
のサブクラスを使用します。これは、PageLifecycleをサブクラス化します。
注意: すべてのライフサイクル・クラスは、ライフサイクル・コンテキストを使用して、ライフサイクル・メソッドで必要なパラメータを指定します。
次の図は、クラスの階層とパッケージを示しています。
ADFフレームワークは、クラスの動作をカスタマイズした場合でも、これらのクラスを透過的に使用します。ライフサイクル・メソッドはオーバーライドできます。ただし、メソッドをコールする順序は変更できません。
ライフサイクル・インタフェースと、それを実装するクラスの詳細は、次のJavadocを参照してください。
oracle.adf.controller.lifecycle.Lifecycle
oracle.adf.controller.lifecycle.PageLifecycle
oracle.adf.controller.struts.actions.StrutsPageLifecycle
oracle.adf.controller.struts.actions.StrutsUixLifecycle
また、アプリケーションのテクノロジ・スコープ内にあるクラスのソース・コードは、JDeveloperのメイン・メニューから「ナビゲート」->「Javaクラスに移動」を選択して表示できます。ダイアログのテキスト・フィールドにクラス名を入力し、「OK」をクリックします。
Oracle ADFデータ・コントロールについて
Oracle ADFライフサイクルのカスタマイズ
Copyright © 1997, 2004, Oracle. All rights reserved.