Home > Struts > コントローラー概要図

コントローラー概要図

サンプルを例に Struts コントローラーの全体図を書いてみました。
ソースコードは実際のものと違いがありますが、全体的な関連は把握できると思います。

①フォーム
 ActionForm を中心とした概念です。
 ActionForm は画面項目に対応したクラスと言えます。
 サンプルの画面(login.jsp)には、名前とパスワードという 2 種類の入力フォームがありますが、それぞれ、SmapleForm クラスのフィールドである name と password に対応しています。

 フォームに関する記述
  Struts設定ファイル
   form-bean 要素に属性として、論理名(name)とクラス名(type)を記述。
   action 要素に属性として、使用するフォームの論理名(name)を記述。
  JSP
   入力フィールド系タグの属性 property に対応するフィールド名を記述。
  Action クラス
   引数で受け取る ActionForm を実際の型にキャスト

②アクションマッピング
 ③のアクションと④のフォワードを対応(マッピング)させる、言わば制御に関する設定です。
 具体的に制御を担当する Action クラス、そこで使用する ActionForm、遷移先のページなどを action-mapping の子要素で定義します。

③アクション
 Action を中心とした概念です。
 簡単に言ってしまうと、Action は、JSP のボタンなどがクリックされた時の処理(画面遷移)を execute メソッドで請け負います。

 アクションに関する記述
  Struts設定ファイル
   action 要素に属性として、論理名(path)とクラス名(type)を記述。
   action 要素の name 属性は、使用するフォームの論理名なので注意して下さい。
  JSP
   html:form タグなどの action 要素にアクションの論理名を記述。
   ボタンクリック時などに、該当クラスの exceute メソッドが実行されます。
  Action クラス
   execute メソッドに処理を実装します。

④フォワード
 ActionForward を中心とした概念です。
  フォワードに関する記述
  Struts設定ファイル
   action 要素の子要素として foward 要素を記述。
   forward 要素には、論理名(name)と遷移先のページ(path)を記述。
   必要な分だけ forward 要素を記述します。
  Action クラス
   execute メソッドの引数である ActionMapping から findFoward メソッドで ActionFoward を取得します。
   この時、引数に forward 要素の name 属性に記述した文字列を渡します。
   取得した ActionFoward を return することで、forward 要素の path 属性に記述したページに遷移します。

Home > Struts > コントローラー概要図

Page Top