演習 1.3: フォーム Bean の作成と編集
始める前に、演習 1.2: Web ダイアグラムの編集を終了しておく必要があります。
フォーム Bean は、Java Bean の一種です。フォーム Bean は、ActionForm クラスのサ
ブクラスのインスタンスで、実行されたクライアント・リクエストからの
HTML フォーム・データを保管したり、ユーザーがクリックした Struts の
アクション・リンクからの入力データを保管したりします。HTML フォームには、ユーザーが情報を入力できるフィールドが含まれています。
フォーム Bean の作成
次の手順に従って、Web ダイアグラム・エディターから Struts フォーム Bean を作成します。
- 「Web ダイアグラム」で、「dateData」フォーム Bean アイコンをダブルクリックします。
- 「新規フォーム Bean」ページで、「次へ」をクリックします。
- 「ActionForm クラスに新規フィールドを選択する (Choose new fields for your ActionForm)」ページで、「DayOfWeek」ボックスに
チェック・マークを付けます。
- 「次へ」をクリックします。
- 「ActionForm クラスに新規フィールドを作成する (Create new fields for your ActionForm)」ページで、「追加」
をクリックし、次のフィールドを指定します。
名前 |
タイプ |
年 |
int |
月 |
int |
日 |
int |
dayOfWeek |
ストリング |
「ActionForm クラスに新規フィールドを作成する (Create new fields for your ActionForm)」ページは、次の図のようになるはずです。

- 「次へ」をクリックします。
-
「ActionForm クラスのマッピングの作成 (Create a mapping for your ActionForm clas)」ページの「Java パッケージ」フィールドに、Java パッケージ名として次のテキストを入力します。
com.ibm.dayofweek
- 「終了」をクリックします。次の 2 つのことが起こります。
- フォーム Bean が、Struts 構成ファイル (struts-config.xml) に追加されます。
- DayOfWeek\JavaSource\com\ibm\dayofweek (プロジェクト・エ
クスプローラーの DayOfWeek > JavaSource
> com.ibm.dayofweek) に DateData.java という名前のファイルが作成されます。
DateData.java ファイルが Java エディターで開かれます。次のセクションでは、このファイルを変更します。
ヒント: フォーム Bean を使用する JSP ページ作成の前にフォーム Bean を作成すると、JSP ページの作成時にフィールド名を再入力しなくて済みます。
フォーム Bean の編集
フォーム Bean ソース・ファイルおよび Java リソース・ファイルは、アプリケーション用に特別に編集します。
- DateData.java ファイルには、下の方に次のコード行があります。
ActionErrors errors = new ActionErrors();
- このコードの直後に、次のコードを挿入します。
if (year < 1582)
{
errors.add("year",new org.apache.struts.action.ActionError("pre_gregorian"));
}
コードは、次の図のように表示されるはずです。

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

- ファイルを保管して閉じます。
これで、演習 1.4: アクションおよびアクション・マッピングの作成を開始する準備ができました。