Strutsページ・フロー・ダイアグラムを使用すると、ビジネス・サービスへのアクセスにOracle ADFデータ・コントロールを使用し、ページ・ナビゲーションの管理にStrutsコントローラを使用する、データ・バインドされたアプリケーションを作成できます。
このトピックでは、次の項目について説明します。
Oracle ADFには、データ・バインドされたWebページのバインディング・コンテナを準備するために次のクラスが用意されています。
oracle.adf.controller.v2.struts.actions.DataAction
これは、Strutsページ・フロー・ダイアグラムで使用されるDataAction用のクラスです。
oracle.adf.controller.v2.struts.actions.DataForwardAction
これは、Strutsページ・フロー・ダイアグラムで使用されるDataPage用のクラスです。
これらのクラスは両方ともStrutsアクションであり、LifecycleProcessorに処理を委任します。つまりADFライフサイクルを実行します。
データ・バインドされたWebアプリケーションでは、Struts構成ファイル内のエントリによってこれらのクラスが使用されます。データ・アクションまたはデータ・ページをページ・フロー・ダイアグラムに追加すると、JDeveloperによってこれらのエントリが作成されます。
また、データ・コントロール・パレットから、データ・ページまたはデータ・アクションに関連付けられていないWebページにデータ・コントロールを追加すると、JDeveloperでは、選択に応じて、データ・バインディング・コンテキストを提供するためのデータ・ページまたはデータ・アクションにWebページが変換されます。
DataForwardAction
およびDataAction
クラスはorg.apache.struts.action.Action
を拡張します。これらのクラスはLifecycleProcessorに処理を委任します。ページのPageControllerでは、アクションの宛先を指定するfindForward()
メソッドが提供されます。
データ・アクション、データ・ページおよび標準のStrutsアクション・クラスでは、同じ一般的な機能が実行されます。ただし、実行時に、データ・アクションまたはデータ・フォワード・アクションでは、ページ定義ファイルを使用してOracle ADFバインディング・オブジェクトが参照されます。
データ・ページまたはデータ・アクションを使用する場合の詳細は、「データ・ページまたはデータ・アクションの使用を決定する場合」を参照してください。
アプリケーションでADFデータ・コントロールを使用するとき、ADFでは、各ページで使用されるデータ・コントロールの識別に次の定義ファイルが使用されます。
ページ定義ファイルmyPage
PageDef.xml
。アプリケーション内の各ページに対して、ページ名に基づいた名前のページ定義ファイルが1つ作成されます。このファイルには、ページに必要な全ADFコントロール・バインディングのリストに加え、ページ・パラメータの定義やページとページ内のコントロールに対するセキュリティ権限などのページ情報が含まれます。
クライアント・プロジェクト定義ファイルDataBindings.cpx
。アプリケーション全体に対して1つのクライアント・プロジェクト・ファイルがあります。このファイルによって、各ページに使用されるページ定義ファイル、およびアプリケーションのビジネス・サービスに登録されているOracleデータ・コントロールが識別されます。
クライアント・プロジェクト定義ファイルは、アプリケーション内のいずれかのページでADFデータ・コントロールを初めて使用したときに作成されます。ページ定義ファイルは、ページにデータ・コントロールを初めて追加したときに、そのページに対して作成されます。
ADFプロジェクト定義ファイルの詳細は、「Oracle ADFプロジェクト・ファイルについて」を参照してください。
Strutsページ・フロー・ダイアグラムを使用してデータ・ページを作成すると、JDeveloperによってStruts構成ファイルが更新されます。たとえば、データ・ページのアイコンを空のページ・フロー・ダイアグラムにドラッグしてデータ・ページの名前を/myPageに変更すると、データ・ページのアイコン上に警告アイコンが重なって表示され、関連するWebページが存在していないことが示されます。
JDeveloperによって、Struts構成ファイルに次のエントリが作成されます。
<form-beans>
<form-bean name="DataForm"
type="oracle.adf.controller.v2.struts.forms.BindingContainerActionForm"/>
</form-beans>
<action-mappings>
<action path="/myPage"
className="oracle.adf.controller.v2.struts.actions.DataActionMapping"
unknown="false"
type="oracle.adf.controller.v2.struts.actions.DataForwardAction"
name="DataForm" parameter="unknown"/>
</action-mappings>
これらのエントリには、次のものが含まれています。
アクション・マッピング。パスはページ・フロー・ダイアグラム内のアイコンに割り当てられた名前と同じで、型はoracle.adf.controller.v2.struts.actions.DataForwardAction
クラスに設定されている型です。属性parameter
に注意してください。関連するWebページを指定すると、この属性の値は"unknown"
からページ名に変更されます。
DataForm
という名前のフォームBean。<form-beans>
要素の下にあります。また、値"DataForm"
は、関連するアクションのname
属性にも追加されます。データ・フォームBeanによって、アプリケーションWebページ内のフォームでバインディング・コンテナの属性が動的に使用可能になるため、アプリケーションで必要なActionForm Beanを作成する手間を省くことができます。データ・フォームBeanの詳細は、「Oracle ADFデータ・フォームBeanについて」を参照してください。
Strutsアプリケーション内に関連Webページ(この例ではmyPage.jsp
)を作成すると、データ・ページ・アイコンの上に警告アイコンは表示されなくなります。
同時に、Struts構成ファイル内のアクション・マッピングが太字で示したように変更されます。
<action-mappings>
<action path="/myPage"
className="oracle.adf.controller.v2.struts.actions.DataActionMapping"
unknown="false"
type="oracle.adf.controller.v2.struts.actions.DataForwardAction"
name="DataForm" parameter="/myPage.jsp"/>
</action-mappings>
アクション・マッピング内のparameter
属性の値が、関連するWebページ・ファイルの名前に更新されます。最初のデータ・コントロールを関連するWebページに追加すると、ページ名に基づいた名前でページに対するページ定義ファイルも作成され、存在していない場合はクライアント・プロジェクト定義ファイルも作成されます。
データ・ページの作成方法の詳細は、「ページ・フロー・ダイアグラムへのデータ・ページの追加」を参照してください。
Strutsページ・フロー・ダイアグラムを使用してデータ・アクションを作成すると、JDeveloperによってstruts-config.xml
ファイルが更新されます。たとえば、データ・アクションのアイコンを空のページ・フロー・ダイアグラムにドラッグしてデータ・アクションの名前を次の図に示すように変更するとします。
JDeveloperによって、Struts構成ファイルに次のエントリが作成されます。
<form-beans>
<form-bean name="DataForm"
type="oracle.adf.controller.v2.struts.forms.BindingContainerActionForm"/>
</form-beans>
<action-mappings>
<action path="/myAction"
className="oracle.adf.controller.v2.struts.actions.DataActionMapping"
unknown="false"
type="oracle.adf.controller.v2.struts.actions.DataAction"
name="DataForm"/>
</action-mappings>
データ・アクションとデータ・ページの処理方法の主要な相違点は次の2つです。
アクション・タイプが、oracle.adf.controller.struts.actions.DataAction
です。
データ・アクションのアクション・マッピングは、データ・ページに対するページを作成したときではなく、データ・アクションのフォワード・プロパティの値を設定したときに定義されます。
データ・アクションを使用する場合は、コンポーネント・パレットから「Forward」をページ・フロー・ダイアグラムにドラッグして<forward>
要素を定義します。たとえば、別のデータ・アクション、データ・ページ、ページ・フォワードまたはWebページにフォワードできます。この例では、WebページのmyPage.jsp
にフォワードされます。
フォワードを追加すると、データ・アクションのアクション・マッピングが太字で示したように更新されます。
<action path="/myAction"
className="oracle.adf.controller.v2.struts.actions.DataActionMapping"
unknown="false"
type="oracle.adf.controller.v2.struts.actions.DataAction"
name="DataForm">
<forward name="success" path="/newPage.jsp">
</action>
JDeveloperは、アクション<forward>
要素をデフォルト値であるsuccess
に追加します。また、この場合のパスは /newPage.jsp
です。
最初のデータ・コントロールを関連するWebページに追加すると、ページ名に基づいた名前でページに対するページ定義ファイルも作成され、存在していない場合はクライアント・プロジェクト定義ファイルも作成されます。
Struts構成ファイルでのアクション・マッピングの表現方法の詳細は、「WebアプリケーションでのStrutsページ・フローについて」を参照してください。
データ・アクションの作成方法の詳細は、「ページ・フロー・ダイアグラムへのデータ・アクションの追加」を参照してください。
アプリケーションの設計によっては、データ・ページのかわりに、別のページ・フォワードまたはページにフォワードするデータ・アクションの使用が必要になる場合があります。たとえば複数のデータ・アクションから1つのページにフォワードする場合に、この方法の使用を検討します。ページ・フォワードでは、宛先のWebページへの単純なフォワードが実行されます。ページ・フォワードの作成の詳細は、「ページ・フロー・ダイアグラムでのアクション・フォワードStruts定義へのページ・フォワード要素の使用」を参照してください。
コンポーネント・パレットには、Strutsアプリケーションで使用できるページ要素も用意されていますが、このページ要素はコントローラを介したページ・ナビゲーション管理ができません。
ページまたはページ・フォワードでデータ・コントロールを使用する場合は、Webページがデータ・アクションに関連付けられているか、またはデータ・ページの一部である必要があります。アクション・クラスに関連付ける前に、データ・コントロールをコンポーネント・パレットからWebページにドラッグすると、次のダイアログが表示されます。
このダイアログを使用して、現在のコンテキストでデータ・ページを使用するか、データ・アクションを使用するかを選択できます。データ・バインディングが必要なページを変換する際のデフォルト選択を設定することもできます。
JDeveloperでのStrutsサポートについて
Strutsアプリケーションでのページ・フローについて
Oracle ADFデータ・フォームBeanについて
Oracle ADFプロジェクト・ファイルについて
Oracle ADFアプリケーション用のStrutsページ・フローの作成
JDeveloperでの実行
Copyright © 1997, 2006, Oracle. All rights reserved.