演習 1.3: フォーム Bean の作成と編集

始める前に、演習 1.2: Web ダイアグラムの編集を終了しておく必要があります。

フォーム Bean は、Java Bean の一種です。フォーム Beanは、ActionForm クラスのサブクラスのインスタンスで、実行されたクライアント・リクエストからの HTML フォーム・データを保管したり、ユーザーがクリックした Struts の アクション・リンクからの入力データを保管したりします。HTML フォームには、ユーザーが情報を入力できるフィールドが含まれています。

フォーム Bean の作成

次の手順に従って、Web ダイアグラム・エディターから Struts フォーム Bean を作成します。

  1. 「Web ダイアグラム」で、「dateData」フォーム Bean アイコンをダブルクリックします。
  2. 「新規フォーム Bean」ページで、「次へ」をクリックします。
  3. 「ActionForm クラスに新規フィールドを選択する (Choose new fields for your ActionForm)」ページで、「DayOfWeek」ボックスに チェック・マークを付けます。
  4. 「次へ」をクリックします。
  5. 「ActionForm クラスに新規フィールドを選択する (Choose new fields for your ActionForm)」ページで、「追加」 をクリックし、次のフィールドを指定します。
    名前 タイプ
    int
    int
    int
    dayOfWeek ストリング

    「ActionForm クラスに新規フィールドを選択する (Choose new fields for your ActionForm)」ページは、次の図のようになるはずです。

    新規フォーム Bean のフィールドのリスト

  6. 「次へ」をクリックします。
  7. 「ActionForm クラスのマッピングの作成 (Create a mapping for your ActionForm clas)」ページの「Java パッケージ」フィールドに、Java パッケージ名として次のテキストを入力します。

    com.ibm.dayofweek

  8. 「終了」をクリックします。次の 2 つが起こります。

ヒント: フォーム Bean を使用する JSP ページ作成の前にフォーム Bean を作成すると、 JSP ページの作成時にフィールド名を再入力しなくて済みます。

フォーム Bean の編集

フォーム Bean ソース・ファイルおよび Java リソース・ファイルは、アプリケーションに固有に編集します。
  1. DateData.java ファイルには、下の方に次のコード行があります。 ActionErrors errors = new ActionErrors();
  2. このコードの直後に、次のコードを挿入します。

    if (year < 1582)
    {
     errors.add("year",new org.apache.struts.action.ActionError("pre_gregorian"));
    }

    コードは、次の図のように表示されるはずです。

    DateData.java ファイル内のコードの外観

  3. ファイルを保管して閉じます。
  4. プロジェクト・エクスプローラーで、JavaSource > com.ibm.dayofweek.resources を 展開し、「ApplicationResources.properties」をダブルクリックします。
  5. ApplicationResources.properties ファイルで、errors.header および errors.footer で始まる行から、コメント文字 (#) を削除します。
  6. ファイルの一番下に次のコードを追加します。
    pre_gregorian=<li>Date は、グレゴリオ暦が開始した年</li> 1582 以前。
  7. ApplicationResources.properties ファイルは、次の図のように表示されるはずです。

    ApplicationResources.properties ファイルの外観

  8. ファイルを保管して閉じます。

これで、演習 1.4: アクションおよびアクション・マッピングの作成を開始する準備ができました。

ご利用条件 | フィードバック
(C) Copyright IBM Corporation 2000, 2004. All Rights Reserved.