データ・バインドされたStrutsアプリケーションでのページ・フローについて

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ページ・フローでのデータ・ページ

Strutsページ・フロー・ダイアグラムを使用してデータ・ページを作成すると、JDeveloperによりstruts-config.xmlファイルが更新されます。たとえば、データ・ページのアイコンを空のページ・フロー・ダイアグラムにドラッグしてデータ・ページの名前を/myPageに変更すると、データ・ページのアイコン上に警告のアイコンが表示されて、関連するWebページが作成されていないこと、およびデータ・ページにモデル参照が設定されていないことが示されます。

Datapage icon with warning overlaid

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"/>

これらのエントリには、次のものが含まれます。

Strutsアプリケーションで、関連するWebページ(この例ではmyPage.jsp)を作成し、表などのデータ・コントロールをページに追加すると、データ・ページのアイコンが標準に変わります。

Datapage icon

同時に、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ページに最初に追加すると、次のプロジェクト・ファイルも作成されます。

データ・ページの作成方法の詳細は、「ページ・フロー・ダイアグラムへのデータ・ページの追加」を参照してください。

データ・バインドされたページ・フローでのデータ・アクション

Strutsページ・フロー・ダイアグラムを使用してデータ・アクションを作成すると、JDeveloperによりstruts-config.xmlファイルが更新されます。たとえば、データ・アクションのアイコンを空のページ・フロー・ダイアグラムにドラッグしてデータ・アクションの名前を次の図に示すように変更します。

Data action icon with overlaid warning

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つの点で異なります。

データ・アクションを使用する場合は、「フォワード」アイコン(Forward icon)をページ・フロー・ダイアグラムにドラッグして<forward>要素を定義します。たとえば、別のデータ・アクション、データ・ページ、ページ・フォワードまたはWebページにフォワードできます。この例では、WebページのmyPage.jspにフォワードされます。

Data action with forward to web page

フォワードを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>

次のものが追加されます。

データ・アクションのフォワード先のWebページにデータ・コントロールを最初に追加すると、データ・ページと同じプロジェクト・ファイルが作成されます。

注意: Struts構成ファイルでのアクション・マッピングの表現方法は、「WebアプリケーションでのStrutsページ・フローについて」を参照してください。

データ・アクションの作成方法の詳細は、「ページ・フロー・ダイアグラムへのデータ・アクションの追加」を参照してください。

データ・バインドされたアプリケーションでのページおよびページ・フォワードの使用方法

アプリケーションの設計によっては、データ・ページのかわりに、別のページ・フォワードまたはページにフォワードするデータ・アクションの使用が必要になる場合があります。たとえば複数のデータ・アクションから1つのページにフォワードする場合に、この方法の使用を検討します。ページ・フォワードにより、宛先のWebページに対して単純なフォワードが実行されます。ページ・フォワードの作成の詳細は、「ページ・フロー・ダイアグラムでStrutsフォワード・アクションを定義するためのページ・フォワード要素の使用方法」を参照してください。

コンポーネント・パレットには、Strutsアプリケーション向けのページ要素も用意されていますが、ページでは、コントローラを使用したページ・ナビゲーション管理ができません。コンポーネント・パレットで要素名を右クリックして「ヘルプ」を選択すると、ページ要素およびページ・フォワード要素の詳細なヘルプを利用できます。

ページまたはページ・フォワードでデータ・コントロールを使用する場合は、Webページがデータ・アクションに関連付けられているか、またはデータ・ページの一部である必要があります。アクション・クラスに関連付ける前に、データ・コントロールをコンポーネント・パレットからWebページにドラッグすると、次のダイアログが表示されます。

Select Page Flow Data Binding Option dialog

このダイアログを使用して、データ・ページまたはデータ・アクションを現在のコンテキストで選択できます。データ・バインディングが必要なページを変換する際の、デフォルトの設定にも使用できます。


JDeveloperでのStrutsサポートについて
Strutsアプリケーションでのページ・フローについて
Oracle ADFアプリケーション用のStrutsページ・フローの作成
Oracle ADFデータ・フォームBeanについて
JDeveloperでの実行

 

Copyright © 1997, 2004, Oracle. All rights reserved.