struts2 中strut.xml文件中可以配置返回类型,对于type="chain",是转发到另外的action,是不是就是原来action可以传递参数到另外的acition,而不要在后面加个参数。如果是这样的话,那和type="redirect-action"后面加个参数有什么区别。
开发的时候不想代码的耦合度太大,所以想把功能分开在几个action里,碰到这个问题,希望哪位有经验的朋友开导一下
开发的时候不想代码的耦合度太大,所以想把功能分开在几个action里,碰到这个问题,希望哪位有经验的朋友开导一下
用于重定向到指定的Action,所有的参数、值栈和请求都会丢失。2.type="chain":
用于配置多个Action组成一个链或工作流程来处理用户请求,是通过ChainingInterceptor拦截器来完成的,所有的参数、值栈和请求都是保留的。
用于重定向到指定的Action,所有的参数、值栈和请求都会丢失。
用于重定向到指定的Action,所有的参数、值栈和请求都会丢失,如果要传递参数需要显示配置。 2.type="chain":
用于配置多个Action组成一个链或工作流程来处理用户请求,是通过ChainingInterceptor拦截器来完成的,所有的参数、值栈在下一个action可以直接使用。
<result name="success" type="redirect">User.action?u_id=${loginBean.u_id}</result>
chain:action处理完后转发到一个action,请求参数全部丢失,action处理结果不会丢失。
chain拦截器,处于chain链中的所有action共享一下值栈,每个action把值压入值栈,要用值时从值栈中取
action name="step1" class="test.Step1Action">
<result name="success" type="chain">step2.action</result>
</action>
<action name="step2" class="test.Step2Action">
<result name="success">finish.jsp</result>
</action>
也可以<param name="actionName">step2</param>
<result type="redirectAction">
<param name="actionName">DR0003</param>
<param name="nValue">test</param>
</result>
</action>
<action name="DR0002" method="doPost" class="dr0002Action">
<result type="chain">
<param name="actionName">DR0003</param>
</result>
</action>
<action name="DR0003" method="doPost" class="dr0003Action">
<result>
/WEB-INF/jsp/debug/struts/rslt/DR0003.jsp
</result>
</action>