• ページ設計

意味の固まりごとに Form を分ける。
例:
検索処理なら
単語を入れるテキストボックスと検索ボタンで1フォーム
登録処理なら
登録内容を記入するテキストボックスやセレクトボックスと登録ボタンで1フォーム
複数の処理で共通的に使用する部品があれば、
それらをまとめて1つのフォームにする。
入れ子や互い違いになるようなフォームタグはややこしいので構成しない。

  • ActionFormクラス

処理別に作る。
そうすることによってValidatorプラグインが適用できる。
また、複数の処理をまとめている場合、通常のValidatorでは必要のないパラメータまで
検査してしまうので、フォーム単位でValidateするvalidatorFormではなく、
パラメータ単位でValidateするValidatorActionForm を継承すること。

  • Actionクラス

アクションはフォームからの入力値を取る際、
xxxForm myForm = (xxxForm) form;
とキャストしており、使用するフォームクラス、画面のボタンに依存してしまい、
再利用(≠流用)は難しい。
なので、1処理:1アクション とし、ゴリゴリ書くこと。
再利用はアクション内で呼び出すロジッククラスで考えること。