StrutsフォームBeanの作成

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

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

このトピックには、次の項目が含まれます。

Strutsページ・フロー・ダイアグラムからform-bean要素を追加するには、次のようにします。

  1. プロジェクトのStrutsページ・フロー・ダイアグラムを表示します

  2. フォームBeanを作成するページ・フローにアクションを追加します

  3. アクションを右クリックし、「フォームBeanソースに移動」を選択します。

  4. 「StrutsフォームBeanの作成」ダイアログで、新しいform-beanを定義します。

フォームBeanがStrutsコンフィギュレーション・ファイルに追加され、定義可能な状態でフォームBeanが開きます。

構造ウィンドウからform-bean要素を追加するには、次のようにします。

  1. アプリケーション・ナビゲータで「Webコンテンツ」フォルダを開き、次に「WEB-INF」フォルダを開いて、フォームBeanを追加するStrutsコンフィギュレーション・ファイルを検索して選択します。

  2. 構造ウィンドウおよびプロパティ・インスペクタが表示されていない場合は、「表示」メニューから開きます。

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

  4. フォームBeanに関連するアクションがすでに存在している場合は、次の手順を実行します。

    1. アクションを右クリックし、「フォームBeanソースに移動」を選択します。

    2. StrutsフォームBeanの作成ダイアログで、新しいform-beanを定義します。

      フォームBeanがStrutsコンフィギュレーション・ファイルに追加され、定義可能な状態でフォームBeanが開きます。

    存在しない場合は、次の手順を実行します。

  5. 「struts-config」ノードを右クリックし、メニューから「struts-configの中に挿入」矢印アイコンform-beansの順に選択します。

  6. form-beansフォルダを右クリックして「form-beansの中に挿入」を選択し、「form-beansの挿入」ダイアログで、新しいフォームBeanの属性を定義します。

Struts構成エディタからform-bean要素を追加するには、次のようにします。

  1. form-bean要素を追加するStrutsコンフィギュレーション・ファイルに対してStruts構成エディタを開きます

  2. 「Struts構成エディタ」ダイアログで「フォームBean」を選択し、次に「追加」を選択します。

  3. 「新規フォームBeanを作成」ダイアログを使用して、新しいフォームBeanの詳細を指定します。

  4. 必要に応じて、新しいフォームBeanのプロパティを編集します。「form-bean要素の属性の編集」を参照してください。

フォームBeanの属性を編集するには、次のようにします。

form-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のフォーム・データを検証するには、次のようにします。


JDeveloperでのStrutsサポートについて
Strutsコントローラの使用