StrutsフォームBeanの作成

Webページに含まれる各Struts入力フォーム(HTTP Postを使用する)について、データ入力フォームの状態の保持に役立つJavaBeanクラスを作成します。 Beanは、動的フォームBeanをサポートするorg.apache.struts.action.ActionFormまたはorg.apache.struts.action.DynaActionFormを拡張する必要があります。 フォームBeanをプロジェクトに追加した後で、クラス・ファイルをカスタマイズしてBeanのsetterメソッドおよびgetterメソッドを定義します。

フォームBean要素をstruts-config.xmlファイルに追加するには、次のようにします。

  1. アプリケーション・ナビゲータで、struts-config.xmlファイルをダブルクリックします。 XMLエディタにstruts-config.xmlファイルが開きます。

    struts-config.xmlファイルは、プロジェクトの「WEB-INF」フォルダにあります。 ナビゲータで、「Webコンテンツ」フォルダを開きます。

  2. 「表示」メニューから構造ウィンドウおよびプロパティ・インスペクタを開きます。

  3. 構造ウィンドウに表示される「Struts構造」ビューで、「Struts構成」ノードを開き、現在定義されているStruts要素のリストを表示します。

    プロパティ・インスペクタで属性を編集している場合は、構造ウィンドウで「XML構造」を選択しないでください。 XML構造で表示されるのは、現在struts-config.xmlファイルに値が定義されている属性のみです。 設定が必要な未定義の属性は、構造ウィンドウにXML構造が表示されているプロパティ・インスペクタには表示されません。

  4. 「Struts構成」ノードを右クリックし、「新規」メニューから「フォームBean」を選択して、構造ウィンドウにフォルダを作成します。

  5. フォームBeanの属性を定義するには、次のようにします。

  6. 構造ウィンドウを使用している場合は、「フォームBean」フォルダから新規の要素名を選択し、プロパティ・インスペクタに、現在選択しているフォームBean要素の属性リストを表示して、属性値を設定します。

    属性がフラット・リストとして表示される場合は、プロパティ・インスペクタの「カテゴリ」アイコンをクリックすると、属性がグループ別に表示されます。

新しいフォームBeanをコード・エディタで表示できます。 たとえば、Webページに入力フィールドloginIdが含まれている場合は、次のようにフォームBeanをカスタマイズしてフィールドを追加します。


public class MyLoginActionForm extends ActionForm {
    protected String loginId;
    protected FormFile myLoginJSPFile;
    public void setLoginId(String text) {
          loginId = text;
    }
public String getLoginId() { return loginId; } public void setMyLoginJSPFile(FormFile file) { myJSPFile = file; } public FormFile getMyLoginJSPFile() { return myLoginJSPFile; } }

また、フォーム内のデータをBeanによって検証する場合は、validate()メソッドをカスタマイズできます。


public ActionErrors validate(ActionMapping mapping, HttpServletRequest request)
  {
     return super.validate(mapping, request);
}

StrutsベースのWebアプリケーションを実行する前に、フォームBeanをstruts-config.xmlファイルに構成する必要があります。 実行時に、フォームBeanはStrutsコントローラ・サーブレットまたはJSPフォームにより作成されます。


JDeveloperでのStrutsサポートについて

Strutsコントローラの使用

 

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