すべてのOracle ADF Strutsフォームでは、データ・フォームBeanが使用されます。データ・フォームBeanは、oracle.adf.controller.struts.forms.BindingContainerActionForm
(apache.commons.beanutils.DynaBean
インタフェースを実装するorg.apache.struts.action.ActionForm
のサブクラス)のインスタンスです。データ・フォームBeanによって、フォームで使用可能なバインディング・コンテナの属性が動的に作成されるため、アプリケーションで必要なActionForm Beanを作成する手間を省くことができます。
データ・バインディングをデータ・コントロール・パレットからJSPページにドラッグ・アンド・ドロップすると、Oracle ADFデータ・フォームBeanが自動的に参照されます。関連するバインディング・コンテナ内の各値バインディングに対して、get
メソッドおよびset
メソッドが動的に作成されます。
データ・フォームBeanが作成されると、struts-config.xml
ファイルに次のような変更が加えられます。
<form-beans>
要素の下に追加されます。
<name>
要素に追加されます。
注意: JDeveloperでは、データ・フォームBeanを使用する際、struts-config.xml
ファイルに<form-property>
要素は移入されません。アプリケーションによって、関連するバインディング・コンテナから必要な値が取得されます。
実行時、データ・アクション(oracle.struts.adf.controller.struts.actions.DataAction
のインスタンス)とデータ・ページ(oracle.struts.adf.controller.struts.actions.DataForwardAction
のインスタンス)のどちらの関連アクション・クラスも、データ・フォームBeanを使用してフォームにデータを移入し、(変更がある場合は)更新を送信します。
次に、データ・フォームBeanの動作を説明するために使用できる<html:form>
コードSnippetを示します。
<html:form action="MyDataAction.do">
<html:text property="dname"> </html:form>
実行時、MyDataActionクラスでは、"dname"
プロパティを解決する必要があります。Oracle ADFでは、HTMLフォームは関連するアクションと連動します。関連するアクションは、データ・フォームBeanと連動します。フォームはデータ・フォームBeanに移動してプロパティを解決します。次に、データ・フォームBeanは、その名前を持つバインディングがあるかどうかをバインディング・コンテナに問い合せます。バインディング・コンテナは、そのようなバインディングがある場合は返し、データ・フォームはそのバインディングの値をHTMLフォームに移入します。
警告: struts-config.xml
ファイルのDataFormクラスやDataFormのエントリを変更、名前変更または削除しないでください。アプリケーション全体が正常に動作するためには、このBean名は決して変更しないでください。DataFormは、Oracle ADFで予約されているFormBean名です。
データ・フォームBeanで使用されるクラスおよびインタフェースの詳細は、次のJavadocを参照してください。
oracle.adf.controller.struts.forms.BindingContainerActionForm
http://jakarta.apache.org/commons/beanutils/api/org/apache/commons/beanutils/DynaBean.html
http://jakarta.apache.org/struts/api/org/apache/struts/action/ActionForm.html
また、アプリケーションのテクノロジ・スコープ内にあるクラスのソース・コードは、JDeveloperのメイン・メニューから「ナビゲート」->「Javaクラスに移動」を選択して、ダイアログのテキスト・フィールドにクラス名を入力して表示できます。
Copyright © 1997, 2004, Oracle. All rights reserved.