Oracle ADFデータ・フォームBeanについて

すべてのOracle ADF Strutsフォームでは、データ・フォームBeanが使用されます。データ・フォームBeanは、oracle.adf.controller.struts.forms.BindingContainerActionFormapache.commons.beanutils.DynaBeanインタフェースを実装するorg.apache.struts.action.ActionFormのサブクラス)のインスタンスです。データ・フォームBeanによって、フォームで使用可能なバインディング・コンテナの属性が動的に作成されるため、アプリケーションで必要なActionForm Beanを作成する手間を省くことができます。

データ・バインディングをデータ・コントロール・パレットからJSPページにドラッグ・アンド・ドロップすると、Oracle ADFデータ・フォームBeanが自動的に参照されます。関連するバインディング・コンテナ内の各値バインディングに対して、getメソッドおよびsetメソッドが動的に作成されます。

データ・フォームBeanが作成されると、struts-config.xmlファイルに次のような変更が加えられます。

注意: 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.