struts2の値スタックについて質問があります。RegisterAction
次のようにexecuteメソッドを持つActionクラスが呼び出されたとしましょう。
public String execute() {
ValueStack stack = ActionContext.getContext().getValueStack();
stack.push(new String("test string"));
return SUCCESS;
}
私のstruts.xmlは次のようになります。
<struts>
<package name="default" extends="struts-default">
<action name="*Register" method="{1}" class="vaannila.RegisterAction">
<result name="populate">/register.jsp</result>
<result name="input">/register.jsp</result>
<result name="success">/success.jsp</result>
</action>
<action name="*Test" method="{1}" class="vaannila.TestAction">
<result name="test">/test.jsp</result>
<result name="success">/success2.jsp</result>
</action>
</package>
</struts>
したがって、executeメソッドがそのクラスで実行された後、制御はsuccess.jspに流れます。
私の質問は次のとおりです。
1)スタックにプッシュした値を取得するにはどうすればよいsuccess.jsp
ですか?
2)と呼ばれるアクションクラスにリダイレクトするがありsuccess.jsp
ます。つまり、[登録]ページで、ユーザーが[送信]をクリックし、の実行メソッドで「テスト文字列」をスタックにプッシュします。次に、に移動します。には、に移動するための送信ボタンがあります。で、スタックにプッシュした値はまだそこにありますか?どうすれば入手できますか?Eclipseデバッガーをステップ実行しましたが、値が表示されません。<s:submit method="testMethod" />
TestAction
RegisterAction
success.jsp
success.jsp
TestAction#testMethod
TestAction#testMethod
RegisterAction#execute
ありがとう。