JDeveloperでは、ページ・ナビゲーションのためのStrutsコントローラに依存しないモデル1形式のWebページを作成できます。さらに、アプリケーションでOracle Application Development Framework(Oracle ADF)を利用できます。モデル1形式のJSPページまたはADF UIXページをOracle ADF用に作成する場合、次のことができます。
ページでOracle ADFデータ・コントロールを使用し、サポートされている任意のビジネス・サービス(ADF Business Componentsなど)にアクセスできます。
アプリケーションでOracle ADFライフサイクルを使用し、JSPページまたはUIXページのイベントをビジネス・サービスに接続するフックが提供されます。
データ・コントロール・パレットを使用して、データ・バインドされたWebページを簡単に作成できます。
注意: StrutsサポートのあるWebアプリケーションの作成を選択する場合は、「Oracle ADFを使用したStrutsベースのWebアプリケーションの作成」を参照してください。
Oracle ADFを使用してモデル1形式のWebアプリケーションを作成するには、次のようにします。
アプリケーション・ナビゲータで「アプリケーション」ノードを右クリックし、「新規アプリケーション・ワークスペース」を選択します。
「アプリケーション・ワークスペースの作成」ダイアログで、アプリケーションの名前を指定します。
ヒント: アプリケーション・エラーを回避するには、ビジネス・サービスとクライアント・アプリケーションを別個のプロジェクト・フォルダで開発する必要があります。JDeveloperアプリケーション・テンプレートにより、別個のプロジェクト・フォルダがワークスペースに作成されます。
ビュー・プロジェクトを選択し、「ファイル」->「新規」を選択して「新規」ギャラリを表示します。
「新規」ギャラリの「Web Tier」->「JavaServer Pages (JSP)」カテゴリから「JSPページ」を選択して、単純なJSPページをプロジェクトに追加します。
または
「新規」ギャラリの「Web Tier」->「ADF UIX」カテゴリから「空のUIX XMLページ」を選択して、単純なADF UIXページを追加します。
注意: 「新規」ギャラリにすべてのテクノロジが表示されている場合、「Strutsコントローラ・ページ・フロー」は選択しないでください。Strutsサポートをプロジェクトに追加すると、設計時にモデル2形式のJSPページが適用されます。この場合、Strutsページ・フロー・ダイアグラムを使用してアクション・マッピングを作成することになります。
ビジュアル・エディタにページが開きます。「設計」ビューが選択された状態にしてください。
データ・コントロール・パレットから開いているWebページに、データ・バインドされたUIコンポーネントを挿入します。
JDeveloperでデータ・コントロール・パレットを使用すると、データ・バインドされたページを簡単に作成できます。作成可能なページについては、「Oracle ADFのデータ・バインド・コンポーネントを使用したユーザー・インタフェースの設計」を参照してください。
PageLifeCycleのサブクラスを作成してOracle ADFイベントを処理するには、次のようにします。
ナビゲータで、Webアプリケーション・プロジェクトを選択します。
「ファイル」->「新規」を選択します。
「カテゴリ」リストで「General」を開き、「Simple Files」を選択します。
「項目」リストで「Javaクラス」を選択します。「OK」をクリックすると、「Javaクラスの作成」ダイアログが開きます。
「Javaクラスの作成」ダイアログで、クラス名を入力します。たとえば、MyLifeCycle
のように入力します。
「拡張対象」フィールドの隣の「参照」をクリックします。次に、「クラス・ブラウザ」ダイアログで、PageLifeCycleクラスを検索します。
「OK」をクリックすると、クラスがプロジェクトに追加されます。Javaコード・エディタにファイルが開きます。
import oracle.adf.controller.lifecycle.LifecycleContext;
データ・コントロール・パレットからページに追加する各操作に対して、イベント・ハンドラ・コードを記述します。
たとえば、データ・コントロール・パレットを使用して、 setCurrentRowWithKey(String)操作をボタンとしてページにドロップする場合は、次のようなイベント・ハンドラを記述します。
public void onSetCurrentRowWithKey(LifecycleContext ctx)
{
super.invokeActionBinding(ctx, "setCurrentRowWithKey");
ctx.setForwardPath("targetPage.jsp");
ctx.setRedirect(true);
}
public void onSubmit(LifecycleContext ctx)
{
if (!this.hasErrors(ctx))
{
ctx.setForwardPath("targetPage.jsp");
ctx.setRedirect(true);
}
}
イベントの処理が必要なWebページでライフサイクル・クラスを参照するには、次のようにします。
ナビゲータで、カスタム・イベント・ハンドラの作成先のWebページを選択します。
構造ウィンドウを表示して、「adf:uimodelreference」を選択します。
「表示」->「プロパティ・インスペクタ」を選択して、プロパティ・インスペクタを開きます。
プロパティ・インスペクタで、「lifecycle」を選択し、右側の省略記号(...)をクリックします。
「Lifecycleクラス」ダイアログで、「参照」をクリックします。
「クラス・ブラウザ」で、カスタム・ライフサイクル・クラスを検索し、「OK」をクリックします。
データ・バインドされたUIコンポーネントを、データ・コントロール・パレットからJSPページに最初に挿入すると、次のことが実行されます。
pageNameUIModel.xml
)がWebページに作成されます。
<adf:uimodelreference>
タグ(adftags.jar
で定義)が挿入され、そのmodel
属性はバインディング定義の名前に設定されます。
DataBindings.cpx
)が作成されます。このファイルにより、アプリケーションのビジネス・サービスに登録されているOracleデータ・コントロールが参照されます。
生成されるプロジェクト・ファイルおよびデータ・バインドされたUIコンポーネント内のモデル参照(${bindings.MyBindingObject.propertyName.attributeName}
)によって、Webアプリケーションは実行時にOracle ADFモデル・レイヤーにアクセスできるようになります。詳細は、「ADF固有のプロジェクト・ファイルについて」を参照してください。
実行時、挿入したUIコンポーネントは、ADFバインディングにアクセスするためのJSTLタグとEL式の組合せを使用してレンダリングされます。
さらに、ビジュアル・エディタを使用して、Webページの外観をカスタマイズすることもできます。これはモデル1のWebページであるため、アプリケーション・ナビゲータから直接Webページを実行できます。
Oracle ADFの概要は、次のトピックを参照してください。
データ・コントロール・パレットの詳細は、次のトピックを参照してください。
モデル2とモデル1のWebページの違いの概要は、次のトピックを参照してください。
Copyright © 1997, 2004, Oracle. All rights reserved.