このトピックでは、次の操作が可能なデータ・バインドされたStrutsアプリケーションのモデル・レイヤー、コントローラ・レイヤーおよびビュー・レイヤーの作成に必要な手順を説明します。
このトピックでは、次の項目について説明します。
ページ・フローが完成したら、ページ・フロー・ダイアグラムから実行します。次のようなマスター/ディテールWebページが表示されます。
次の図に、このページ・フローを作成するためにモデル・レイヤー、コントローラ・レイヤーおよびビュー・レイヤーで実行する必要のある手順を簡単に示します。
次に、このページ・フローを作成するためにモデル・レイヤー、コントローラ・レイヤーおよびビュー・レイヤーで実行する必要のある主要な手順を詳しく説明します。
モデル・レイヤー
ビジネス・コンポーネントの作成
「ビジネス・サービスとモデル・レイヤーの設定」に説明されている手順を実行して、このエンドツーエンド・ソリューションのモデル・レイヤーを準備します。そのトピックでは、Struts、UIXおよびOracle ADF Business Componentsを使用するすべてのエンドツーエンド・ソリューションに共通する情報と手順が説明されています。
JDeveloperにおけるイテレータ・バインディングのデフォルトのレンジ・サイズは10です。レンジ・サイズを変更するには、構造ウィンドウを使用してイテレータを検索し、プロパティ・インスペクタでレンジ・サイズを変更します。
コントローラ・レイヤー(設計時)
データ・ページの作成
この例では、1つのデータ・ページを使用します。データ・ページは、Oracle ADFアクション・サブクラス、フォワードおよびWebページの組合せです。ページ・フロー・ダイアグラムは簡略化されており、3つの要素のうち1つのみが表示されます。Oracle ADFは、データ・バインドされたWebページのバインディング・コンテキストを準備するためにデータ・ページを提供します。データ・ページでは、ページのモデル・データ・バインディングを管理します。Webページを作成すると、モデル・レイヤーに作成されたビジネス・コンポーネントに基づくデータ・バインディングが作成されます。
ページ・フロー・ダイアグラムとコンポーネント・パレットを使用してデータ・ページを作成します。ページ・フロー・ダイアグラムはグラフィカルなモデラーです。ページ・フロー・ダイアグラムを使用すると、struts-config.xml
ファイルのアクション・マッピング要素が視覚的に表示され、ページ・フローの構築にかかる時間を短縮できます。コンポーネント・パレットでは、データ・バインドされたStrutsアプリケーションで使用可能なコンポーネントに視覚的にアクセスできます。
ビュー・レイヤー
データ・コントロールを使用したデータ・バインドされたUIXページの作成
UIXページのコンテンツにより、アプリケーションWebページの外観が決まります。UIコンポーネントとビジネス・コンポーネントの間の相互作用を定義するデータ・バインディングを追加して、このページにデータを表示および更新します。Webページに追加するデータ・バインディングでは、EL(式言語)の構文が使用されます。${bindings.EmployeesView3}
のようなEL式を使用すると、各バインディングの実装クラスのアクセッサ・メソッドに直接アクセスできます。
このアプリケーションのUIXページでは、次の処理を行うために様々なデータ・コントロールが使用されます。
UIXページはUIXビジュアル・エディタで作成し、データ・コントロール・パレットからページにデータ・コントロールをドラッグして追加します。追加した表示用の表や入力用の表は、Oracle ADFバインディング・コンテキストで作成されたOracle ADFバインディング・オブジェクトへの参照によって自動的にデータ・バインドされます。
コントローラ・レイヤー(実行時)
アプリケーションの実行
実行時、ユーザーの選択内容はページのリクエスト・オブジェクトに設定され、リクエスト・オブジェクトがOracle ADFコントローラ・レイヤーのデータ・ページと通信します。データ・ページでは、受信した情報でOracle ADFバインディング・コンテキストが更新され、ページに適切なデータを表示するためのStrutsアクション・マッピングが開始されます。
この項では、ページ・フロー・ダイアグラムとUIXビジュアル・エディタを使用した、マスター/ディテール表とそれに関連するナビゲーションおよび検索機能や更新機能の作成方法を説明します。
データ・ページと関連するUIXページを作成するには、次のようにします。
/masterDetailPage
という名前を付けます。
この手順を実行すると、次のエントリがstruts-config.xml
ファイルに作成されます。
<action-mappings>
<action path="/masterDetailPage"
className="oracle.adf.controller.struts.actions.DataActionMapping"
type="oracle.adf.controller.struts.actions.DataForwardAction" name="DataForm"
parameter="unknown">
</action>
データ・ページを追加すると、アクションのclassName
属性とtype
属性にOracle ADFサブクラスが使用されます。Oracle ADFアクション・サブクラスを使用したアクション・マッピングの詳細は、「データ・バインドされたStrutsアプリケーションでのページ・フローについて」を参照してください。
注意: データ・ページを追加すると、DataFormという名前のフォームBeanも作成されます。データの更新時には、UIXではこのフォームBeanは使用されません。
/masterDetailPage
のデータ・ページ・アイコンをダブルクリックします。「ページの選択または作成」ダイアログ・ボックスの「ページ名」ドロップダウン・リストでページ名「browsePage.uix
」を選択します。このとき、「このページをすぐに編集」チェック・ボックスを選択したまま、「OK」をクリックします。
masterDetailPage.uix
ファイルが作成され、ページがUIXビジュアル・エディタに表示されます。このとき、次の2つの構成ファイルがナビゲータの「ViewController」ノードに追加されます。
uix-config.xml
は、グローバルWebアプリケーションのプロパティとデフォルトのプロパティを定義するUIX固有の構成ファイルです。このファイルの詳細は、「Oracle ADF UIX開発者ガイド」の構成に関する章を参照してください。
orion-web.xml
は、OC4Jの構成ファイルです。JDeveloperや配布先のOracle Application Serverの埋込みプロセスとして実行されます。UIXページを使用するWebアプリケーションを実行する場合は、JDeveloperで提供されるバージョンのorion-web.xml
を使用する必要があります。それ以外のバージョンを使用すると、UIXクラス・ファイルが正常にロードされません。
コンポーネント・パレットのすべてのUIXコンポーネントのリストからpageLayout要素をドラッグして、masterDetailPage.uix
のボックスにドロップします。
pageLayout
要素は、ページ全体のテンプレートの役割を果たす高度なレイアウト要素です。ページ作成のためのいくつかのナビゲーション領域およびコンテンツ領域をサポートします。このページに追加した要素は、すべてこの要素に含まれます。
pageLayout
またはその他のUIX要素の詳細を確認するには、コンポーネント・パレットで要素を右クリックし、コンテキスト・メニューの「ヘルプ」を選択します。
データ・コントロール・パレットで「EmployeesView3」を選択します(「EmployeesView3」が表示されていない場合は「DepartmentsView1」を開きます)。「ドラッグ・アンド・ドロップの形式」リストからマスター/ディテール表(1対多)を選択し、「EmployeesView3」をページにドラッグします。
データ・コントロール・パレットには、そのページで使用可能なビジネス・サービスが表示されます。この手順では、DepartmentsView1というデータ・コレクションを使用してHRデータベースのDepartments表のデータを表示する読取り専用フォームを追加します。ユーザーはこの表内を移動して、ディテール表に部門ごとの従業員を表示します。
データ・バインドされた最初のフォームをWebページに追加すると、DataBindings.cpx
とmasterDetailPageUIModel.xml
という2つのOracle ADFプロジェクト・ファイルがビューに作成されます。DataBindings.cpx
は、アプリケーション全体のバインディング・コンテナを定義します。masterDetailPageUI.xml
は、個々のWebページが使用するデータ・コントロールを定義するモデル参照です。
この時点で、struts-config.xml
ファイルが更新されます。次のように<set-property>
要素がアクション・マッピングに追加され、関連付けられている<action>
要素にモデル参照が定義されます。
<set-property property="modelReference" value="masterDetailPageUIModel"/>
Oracle ADFプロジェクト・ファイルの詳細は、「ADF固有のプロジェクト・ファイルについて」を参照してください。データ・コントロール・パレットの詳細は、「データ・コントロール・パレットを使用したUIコンポーネントの挿入」を参照してください。
ナビゲータで「masterDetailDataPageUIModel.xml」ノードを選択します。
このファイルにより、アプリケーションのUIモデルが定義されます。このノードをクリックすると、構造ウィンドウにモデル・バインディングが表示されます。
構造ウィンドウで「EmployeesView3Iterator」ノードを選択します。
構造ウィンドウでイテレータ・バインディングを選択すると、プロパティがプロパティ・インスペクタに表示されます。そこでプロパティ値を編集できます。
EmployeesView3Iteratorのレンジ・サイズを設定します。
プロパティ・インスペクタで、「Range Size」を次のように10から3に変更します。
この項では、マスター/ディテール・ページの表示方法について説明します。
アプリケーションを実行するには、次のようにします。
「/masterDetailPage」アイコンを右クリックして「実行」を選択すると、ブラウザにマスター/ディテール・ページが表示されます。
このページでは次の操作を実行できます。
データ・バインドされたStrutsアプリケーションでのページ・フローについて
Strutsアプリケーションのページ・フローについて
Oracle ADFのバインディングについて
ADFバインディングのプロパティについて
Oracle ADFデータ・コントロールについて
ADF UIXページの使用
Copyright © 1997, 2004, Oracle. All rights reserved.