Я считаю, что это очень хорошо описано в документации Struts2. Это все, что вам нужно сделать.
<action name="scopea" class="ScopeActionA">
<result name="success" type="dispatcher">/jsp/test.jsp</result>
<interceptor-ref name="basicStack"/>
<interceptor-ref name="scope">
<param name="key">funky</param>
<param name="session">person</param>
<param name="autoCreateSession">true</param>
</interceptor-ref>
</action>
<action name="scopeb" class="com.mevipro.test.action.ScopeActionB">
<result name="success" type="dispatcher">/jsp/test.jsp</result>
<interceptor-ref name="scope">
<param name="key">funky</param>
<param name="session">person</param>
<param name="autoCreateSession">true</param>
</interceptor-ref>
<interceptor-ref name="basicStack"/>
</action>
Все, что вам нужно позаботиться, это то, что у вас есть геттер в ActionA и аналогичный сеттер в actionB. Кроме того, вы должны использовать ключевой параметр, чтобы убедиться, что вы сообщаете Struts2, какое действие получает какие объекты.
прочитайте эту официальную документацию для получения подробной информации о перехватчике Struts2 Scope
Я предпочту Scope Interceptor только тогда, когда мне нужно разработать функционал, подобный мастеру, поскольку он будет обрабатывать другие вещи, такие как блокировка на уровне сеанса. Если это не ваше требование, есть другой способ передать параметры, например поместить объект в сеанс и получить объект из сеанса во втором действии.
person
Umesh Awasthi
schedule
09.12.2011