У меня есть вопрос относительно стека значений struts2. Скажем, у меня есть класс Action, называемый RegisterAction
, который имеет метод выполнения следующим образом:
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>
Таким образом, управление будет передаваться в success.jsp после выполнения метода execute в этом классе.
Мои вопросы:
1) как мне получить это значение, которое я нажал на стек в success.jsp
?
2) Скажем, в success.jsp
у меня есть <s:submit method="testMethod" />
, который перенаправляется на класс действия, называемый TestAction
. Другими словами, на странице "Регистр" пользователь нажимает кнопку "Отправить", а в методе выполнения RegisterAction
мы нажимаем "тестовую строку" в стеке. Затем переходим к success.jsp
. Кнопка success.jsp
имеет кнопку отправки, которая направляет нас на TestAction#testMethod
. В TestAction#testMethod
есть ли значение, которое я нажал на стек в RegisterAction#execute
еще там? Как я могу его получить? Я прошел через отладчик eclipse, но я не вижу значения.
Спасибо.