2011年11月7日月曜日

[Seasar2][SAStruts][アノテーション]executeアノテーションについて

SAStrutsではURLにプロジェクト名だけ指定した場合、IndexActionクラスが呼び出される。
例えばプロジェクト名がtestproject、Tomcatによるデバッグ環境で、

http://localhost:8080/testproject/

と入力した場合、IndexActionクラスのindexメソッドが呼び出される。
また、アクションクラスを追加した場合、indexメソッドによりそのアクションクラスが所属するパッケージのindex.jspを呼び出すことができるようになる。

例えばSougouMenuActionというアクションクラスを追加し、

http://localhost:8080/sougouMenu/

と入力した場合、SougouMenuActionクラスのindexメソッドが呼び出される。
ここでreturn "index.jsp";と記述すれば、sougouMenuパッケージ配下のindex.jspが呼び出される。

HTML名を指定せずにアプリを実行した場合、アクションクラスのindexメソッドが自動で呼び出されるようにするためには、indexメソッドに@Executeアノテーションを付与する必要がある。(@Executeが付いているメソッドをフレームワークが探すため)
アノテーションのよる、バリデーションを行わない場合は@Execute(validator = false)とする。
新しく追加したアクションの場合、JSPには何も画面入力項目がない状態なので、最初は@Execute(validator = false)して初期の動作確認をした方がよい。

画面を全部作ってアクションのメソッドを定義してもよいが、トラブルがあったときに時間を取られやすい。
インクリメンタルな開発を行うことで開発効率を上げる手法が推奨される。

0 件のコメント:

コメントを投稿