Super Agile Struts開発記その2
Actionにリクエストが飛んできたとき、Actionクラスのメソッドで@Executeアノテーションがつけられているものを実行するようにします。
@Executeがついているメソッドが1つだけなら、デフォルトで実行され、複数ある場合は、ボタン系のタグのname属性と同じメソッドが実行されます。
@Execute
public String execute() {
return "success";
}
@Execute
public String add() {
...
return "success";
}
@Execute
public String subtract() {
...
return "success";
}
@Executeには、validate属性があり、デフォルトはtrueですが、falseにすることによって、バリデーションをしないでメソッドを呼び出せるようになります。戻るボタンのようにバリデーションなしで画面遷移するときに使います。
<input type="submit" name="add"/>
<input type="submit" name="subtract"/>
メソッド名がdoXxxで戻り値の型がStringだったら、呼び出せるようにするというやり方もあるのですが、今回は、CoCを必要最小限に抑える方針なので、明示的にアノテーションを指定する方法を採用しています。
@Execute(validate = false)
public String previous() {
return "previous";
}