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