Request > Action 1 > Action 2 > Response 在 Struts 2 中,这可以通过 Chain Result 来实现。链结果是一种结果类型,它使用自己的拦截器堆栈和结果调用动作。这个拦截器允许一个动作将请求转发到一个目标动作,同时传播源动作的状态。以下是如何定义此序列的示例。
<package name="public" extends="struts-default">
<action name="createUserAccount"
class="net.onlineSolution.CreateAccountAction">
<result name="success" type="chain">login</result>
</action>
<action name="login"
class="net.onlineSolution.LoginAction">
<result name="success" type="chain">showDashboard</result>
</action>
<action name="showDashboard"
class="net.onlineSolution.DashboardAction">
<result name="success">/WEB-INF/jsp/dashboard.jsp</result>
</action>
</package>
在上面的代码中,我们定义了三个动作:createUserAccount、login 和 showDashboard。注意每个动作是如何使用标签链接到下一个动作的。因此,当用户第一次登录系统时,将使用 createAccount 操作。创建帐户后,用户将被转发到登录操作。