ADFフェーズ・リスナーの記述

JSFアプリケーション、Strutsアプリケーションおよびモデル1アプリケーションについて、ADFフェーズのイベントをリスニングするフェーズ・リスナーを記述できます。フェーズ・リスナーを使用すると、すべてのADFライフサイクルのフェーズに対するフェーズ・イベントをリスニングし、イベントの前後に独自のコードを実行できます。フェーズ・イベントをリスニングし、beforePhase()およびafterPhase()メソッドを使用して独自コードを実行します。

フェーズ・リスナーを記述するには、次のインタフェースを実装する必要があります。

oracle.adf.controller.v2.lifecycle.PagePhaseListener

通常は、次の手順を実行します。

  1. oracle.adf.controller.v2.lifecycle.PageControllerクラスを拡張するJavaクラスを作成します。「新規のJavaクラスの作成」を参照してください。

  2. Javaソース・エディタにJavaクラスを表示し、「ソース」「インタフェースの実装」を選択します。「階層」ビューのツリーをナビゲートするか、「検索」ビューを使用して、次のインタフェースを検索します。

    oracle.adf.controller.v2.lifecycle.PagePhaseListener

メソッドがクラスに追加されます。1つはbeforePhaseイベント用、1つはafterPhaseイベント用です。

    public void afterPhase(PagePhaseEvent event) {
    }

    public void beforePhase(PagePhaseEvent event) {
    }    

これらのメソッドを使用してイベントをリスニングできます。beforePhase()メソッドの単純な使用例を次に示します。

public void beforePhase(PagePhaseEvent event)
{
  if (event.getPhaseId() == Lifecycle.PREPARE_RENDER_ID)
  {
    System.out.println("---> Before PREPARE_RENDER");
  }
}    

一例として、Strutsアプリケーション用のフェーズ・リスナーを作成する手順を次に示します。

Strutsアプリケーション用のADFフェーズ・リスナーを記述する手順は、次のとおりです。

  1. プロジェクトのStrutsページ・フロー・ダイアグラムを表示します。

  2. ページのライフサイクルをカスタマイズするデータ・アクションまたはデータ・ページをダブルクリックします。

  3. 「ADF PageController」ダイアログを使用して、PageControllerクラスを拡張する新規クラスの「名前」「パッケージ」を指定します。「拡張対象」フィールドは、デフォルトのoracle.adf.controller.v2.lifecycle.PageControllerのままにしておきます。

  4. Javaソース・エディタに表示される新規クラスのメソッドをオーバーライドするには、「ソース」「インタフェースの実装」を選択します。

  5. 「階層」ビューのツリーをナビゲートするか、「検索」ビューを使用して、インタフェースoracle.adf.controller.v2.lifecycle.PagePhaseListenerを検索します。

Oracle ADFページのライフサイクルについて
Oracle ADFライフサイクルのフェーズについて
アプリケーションのOracle ADFライフサイクルのカスタマイズ
Oracle ADFでの名前付きイベントの使用
ビジネス・サービス・メソッドの実行
ライフサイクル・クラスのコードおよびJavadocの表示

ADFライフサイクル・クラスの詳細は、次のJavadocを参照してください。

adfcv2_javadoc.index.html