シンプル Struts アプリケーションの作成

この文書では、2 つの Web ページ、1 つのアクション・マッピング、および 1 つのフォーム Bean を持つシンプル Struts アプリケーションを作成する方法について詳しく説明します。

この作業を実行する前に、Web パースペクティブが開始されていることを確認してください。 Web パースペクティブが開始されていない場合は、「ウィンドウ」 > 「パースペクティブを開く (Open Perspective)」 > 「その他 (Other)」 > 「Web」をクリックします。

例えば、入力として年月日を受け入れる Web ページ、および 曜日を計算するデータを操作するコードを備えたアプリケーションを 作成するとします。入力が有効な場合は、計算された値が出力 Web ページに 表示されます。入力が無効な場合は、エラー・メッセージが入力ページに 表示されます。図 1 は、このようなアプリケーションのための Web ダイアグラムを表示しています。

図 1. 作成するシンプル・アプリケーションの Web ダイアグラム
それぞれ中間の Struts のアクション・マッピングに接続された入力 JSP ファイル、出力 JSP ファイル、 および dateData フォーム Bean

この図では、index.jsp が入力 JSP ファイル、output.jsp が出力 JSP ファイル、dateData が入出力データを保管するフォーム Bean を表し、/computeDay は、入力が実行依頼され、 その出力が output.jsp に送信されたときに実行される アクション・コードの computeDay アクション・ マッピングを表します。アクション・コードは、指定された日の曜日を 計算します。表 1 は、入出力フィールドを示します。

表 1. 入出力フィールド
フィールド名 ファイル名 説明
年 (year) index.jsp 4 桁の年
月 (month) index.jsp 2 桁の月
日 (day) index.jsp 2 桁の日
曜日 (dayOfWeek) output.jsp 曜日を表すストリング

このアプリケーションでは、Model/View/Controller の デザイン・パターンのビューは、2 つの JSP ファイルで構成されます。 コントローラーは、computeDay アクション・マッピング と dateData フォーム Bean で構成されます。 ユーザー入力以外のデータベースまたはデータ・ソースを使用しないため、 モデルは存在しません。

上述の Struts アプリケーションを作成するには、次のステップを実行します。

  1. Struts 対応の動的 Web プロジェクトを作成する。
    1. メインメニューから、「ファイル」 > 「新規」 > 「動的 Web プロジェクト」をクリックする。
    2. 「動的 Web プロジェクト」ページで、プロジェクトの名前 (たとえば、DayOfWeek) を入力し、続いて「次へ」をクリックする。
    3. 「機能 (Features)」ページで、「Struts」 ボックスがチェックされていることを確認し、「終了」をクリックする。
    動的 Web プロジェクト」フォルダーに Struts 対応の Web プロジェクトが作成され、「DayOfWeek」プロジェクト・フォルダーに diagram.gph という名前の Web ダイアグラムが作成されます。
  2. プロジェクト・エクスプローラーで、「動的 Web プロジェクト」 > 「DayOfWeek」をクリックし、+ をクリックしてエントリーを展開し、「Web ダイアグラム」をダブルクリックする。 Web ダイアグラム・エディターで diagram.gph が開きます。
  3. Web ダイアグラム・エディターで右クリックし、「スナップ」 > 「グリッドの表示」を選択して、位置合わせグリッドを表示する。 (Web アプリケーション・ダイアグラムの編集 - 概要を参照してください。)
  4. 右クリックして「スナップ」 > 「「グリッドへのスナップ」をオン」を選択する。
  5. 図 1 のようになるように Web ダイアグラムを編集する。ただし、この時点では、ノードはグレーで表示されます。これは、まだ実現されていないことを示します。
    1. index.jsp および output.jsp という名前の Web ページ・ノード、computeDay という名前のアクション・マッピング・ノード、および dateData という名前のフォーム Bean ノードを作成する。 作成方法の詳細については、Web ダイアグラムでのノードの作図を参照してください。 これにより、 ノード情報が diagram.gph ファイルに追加されますが、 ノードは実現されません。
    2. 以下の接続を作成する (Web ダイアグラムでの接続の作図を参照)。
      • index.jsp から /computeDay
      • /computeDay から output.jsp (接続タイプは「ローカル転送」、ラベルは「正常終了」に設定)
      • /computeDay から dateData
      • /computeDay から index.jsp (接続タイプは「グローバル転送」ラベルは「失敗」に設定)
      これにより、詳細が diagram.gph ファイルに追加されます。これで作成中のダイアグラムは、図 2 のようになるはずです。
      図 2. 未実現のノードを含む Web ダイアグラム
      それぞれ中間の Struts のアクション・マッピングに接続された入力 JSP ファイル、出力 JSP ファイル、 および dateData フォーム Bean のグレーで表示されたイメージ
    3. 「ファイル」 > 「保管」をクリックして、ファイルを保管する。
  6. Struts フォーム Bean を作成する。
    1. Web ダイアグラム・エディターで、dateData フォーム Beanアイコンをダブルクリックする。
    2. 「新規 Form-Bean」ページで、「次へ」をクリックする。
    3. 「ActionForm クラスの新規フィールドを選択します」ページで、 「DayOfWeek」ボックスをチェックして、「次へ」をクリックする。
    4. 「ActionForm クラスの新規フィールドを作成します」 ページで、「追加」をクリックして、表 2 の 各フィールドを指定する。 次に「終了」をクリックする。
      表 2. dateData フォーム Bean に追加するフィールド
      名前 種類
      年 (year) 整数 (int)
      月 (month) 整数 (int)
      日 (day) 整数 (int)
      曜日 (dayOfWeek) ストリング
      DateData.java という名前のファイルが DayOfWeek\JavaSource ディレクトリー (プロジェクト・エクスプローラー内の DayOfWeek > JavaSource > (デフォルト・パッケージ)) に作成され、ApplicationResources.propertiesDayOfWeek\JavaSource\dayofweek\resources (プロジェクト・エクスプローラー内の DayOfWeek > JavaSource > dayofweek.resources) に作成されて、Java™ エディターが DateData.java を開きます。
    ヒント: フォーム Bean を使用する JSP ページを先に作成しておくと、JSP ページの 作成時にフィールド名を再入力する必要はありません。
  7. シンプル・アプリケーションに対するフォーム Bean ソース・ファイルと Java リソース・ファイルを特別に編集する。
    1. DateData.java ファイルの編集時に、 ファイルの下端近くの ActionErrors errors = new ActionErrors(); の後に以下のコードを挿入する。
      if (year < 1582)
      {
       errors.add("year",new org.apache.struts.action.ActionError("pre_gregorian"));
      }
    2. ファイルを保管して閉じる。
    3. プロジェクト・ナビゲーターで、JavaSource > com.ibm.dayofweek.resources をクリックし、次に ApplicationResources.properties をダブルクリックする。 編集時に、ファイルの errors.header および errors.footer 行の コメントを外し、任意の場所に以下の行を追加する。
      pre_gregorian=<li>日付が、1582 年のグレゴリオ暦開始以前</li>
    4. ファイルを保管して閉じる。
  8. Web ダイアグラムから index.jsp という名前の JSP ファイルを作成する。
    1. index.jsp」アイコンをダブルクリックする。
    2. 「JSP ファイル (JSP File)」ページで、 「モデル (Model)」フィールドに「Struts JSP」が 表示され、「拡張オプションの構成」ボックスが チェックされていることを確認する。 続いて、「次へ」をクリックする。
    3. 以下のページで、「次へ」をクリックする。
      • タグ・ライブラリー
      • JSP ファイル
      • JSP ファイル
    4. 「フォーム・フィールド選択」ページの「フォーム Bean エントリー」ドロップダウン・メニューで、「dateData」 をクリックする。 次に「年 (year)」、「月 (month)」、 および「日 (day)」ボックスをチェックし、 「フィールドをフォームに生成 (Generate fields in a form)」 ボックスがチェックされていることを確認して、「終了」をクリックする。 index.jsp ファイルが Web コンテンツ・フォルダーに作成されます。
    5. ラベルの順序が「年 (year)」- 「月 (month)」-「日 (day)」 でない場合は、「ソース」をクリックし、 その順序を作成できるように JSP ファイルを編集し、ファイルを保管する。
    6. 「ファイル」 > 「閉じる」をクリックしてファイルを閉じる。
  9. output.jsp という JSP ファイルを作成する。
    1. output.jsp」アイコンを ダブルクリックする。
    2. 「JSP ファイル (JSP File)」ページで、 「モデル (Model)」フィールドに「Struts JSP」が 表示され、「拡張オプションの構成」ボックスが チェックされていることを確認する。 続いて、「次へ」をクリックする。
    3. 以下のページで、「次へ」をクリックする。
      • タグ・ライブラリー
      • JSP ファイル
      • JSP ファイル
    4. 「フォーム・フィールド選択」ページの「フォーム Bean エントリー」ドロップダウン・メニューで、「dateData」 をクリックする。 次に「曜日 (dayOfWeek)」ボックスをチェックし、 「フィールドをフォームに生成」ボックスの チェック・マークを外して、「終了」をクリックする。 output.jsp ファイルが Web コンテンツ・フォルダーに作成されます。
    5. ファイルを保管して閉じる。
  10. Struts のアクションとアクション・マッピングを作成する。
    1. Web ダイアグラム・エディターで、/computeDay アイコンをダブルクリックする。
    2. 「新規アクション・マッピング」ページで、「終了 (Finish)」をクリックする。 Struts 構成ファイル (struts-config.xml) に アクション・マッピングが追加され、ComputeDayAction.java という名前のファイルが DayOfWeek\JavaSource\com\ibm\dayofweek\actions に作成され、そのファイルが Java エディターに表示されます。
    3. シンプル Struts アプリケーションの アクションのソース・コードでのコードと一致するようにファイルを 編集する。
    4. ファイルを保管して閉じる。 ファイル ComputeDayAction.java がコンパイルされて、 ComputeDayAction.class ファイルが (「WEB-INF」 > 「クラス」 > 「曜日 (dayofweek)」 > 「アクション」に示すように) プロジェクト・ナビゲーターの Web コンテンツ・フォルダー内に生成されます。 図 3 は、Web ダイアログの外観を示しています。現在 ノードには、実現されていることを示す色が付いていることに注意してください。
      図 3. 実現されたノードを含む Web ダイアグラム
      それぞれ中間の Struts のアクション・マッピングに接続された入力 JSP ファイル、出力 JSP ファイル、 および dateData フォーム Bean
    5. diagram.gph ファイルを保管して、閉じる。
  11. Struts アプリケーションをテストする。
    1. プロジェクト・ナビゲーター内で index.jsp を右クリックして、「サーバーで実行」を選択する。サーバーの選択」ウィンドウが表示されます。
    2. サーバー型 (Server type)」フィールドで、「WebSphere バージョン 5.1 (WebSphere version 5.1)」 > 「テスト環境 (Test Environment)」 > 「完了」をクリックする。 これによって入力のために index.jsp ファイルが起動する。
    3. 年 (year)」、「月 (month)」、 および「日 (day)」の各フィールドを指定する (例えば、 「2001」、「9」、および 「11」)。
    4. 実行依頼 (Submit)」をクリックする。 図 4 は 出力を示しています。
      図 4. シンプル Struts アプリケーションからの出力
      曜日: 火曜日
関連概念
Struts および Model/View/Controller のデザイン・パターン
Struts ベース の Web アプリケーション
Web パースペクティブ
関連タスク
Struts を使用して優れた設計の Web アプリケーションを作成する
動的 Web プロジェクトの作成
Web ダイアグラムの作成
Web アプリケーション・ダイアグラムの編集 - 概要
Struts フォーム Bean の作成
JavaServer Pages (JSP) ファイルの作成
Struts のアクションの作成
Struts アプリケーションのテスト
関連資料
Web ダイアグラム・エディターの Struts 設定
シンプル Struts アプリケーションのアクションのソース・コード
ご利用条件 | フィードバック
(C) Copyright IBM Corporation 1999, 2004. All Rights Reserved. (C) Copyright IBM Japan 2005