メソッドを使用implements Preparable
してオーバーライドprepare()
し、準備で問題が発生した場合は、でアクションエラーを設定しますcom.opensymphony.xwork2.ActionSupport addActionError
。
prepareメソッドがエラーメッセージを設定した後、このメッセージを実際のinitializeメソッドで処理したいと思います。
public class TestClass implements Preparable {
public void prepare() {
// ...
if (error) {
addActionError("error");
}
}
public String initializeAndDo() {
String target = ERROR;
// ...
return target;
}
}
デバッグすると、メソッドに到達せず、initiliazeAndDo
自動的にINPUTを返します。
struts.xml:アクションブロックにインターセプターがありません。
<action name="action_name" method="initializAndDo" class="TestClass">
<result name="input">/pages/input.jsp</result>
<result name="error">/pages/error.jsp</result>
</action>
何かアイデアはありますか?