有关Struts2中action间的跳转可分为两部分,一部分为同一个包中action间的跳转,还有一个就是在不同包中action间的跳转。不管是不是在同一个包中,首先要明确的是要实现跳转,必须要将result中type属性设为chain或redirectAction。
一、同一个包中的跳转
在Action的results里面的type类型配置为“chain”,跳转的Action的URL直接写要跳转到的Action名称即可。
如下面的package,从浏览器访问r1.action之后跳转到r2.action,最后跳转到1.jsp页面显示给用户!
二、不同包中的跳转
需要使用param标签,其中param的name属性不需要修改,只需修改标签对应的值即可,如下,只需修改ss及/pp就行。
从浏览器访问r1.action之后跳转到package为paramsRedirect中的r2.action,最后跳转到1.jsp页面显示给用户!
一、同一个包中的跳转
在Action的results里面的type类型配置为“chain”,跳转的Action的URL直接写要跳转到的Action名称即可。
如下面的package,从浏览器访问r1.action之后跳转到r2.action,最后跳转到1.jsp页面显示给用户!
- <package name="report" extends="struts-default" namespace="/">
- <action name="r1" class="R1">
- <result name="success" type="chain">r2</result>
- </action>
- <action name="r2" class="R2">
- <result name="success" type="dispatcher">/1.jsp</result>
- </action>
- </package>
二、不同包中的跳转
需要使用param标签,其中param的name属性不需要修改,只需修改标签对应的值即可,如下,只需修改ss及/pp就行。
从浏览器访问r1.action之后跳转到package为paramsRedirect中的r2.action,最后跳转到1.jsp页面显示给用户!
- <package name="resultType" namespace="/r" extends="struts-default">
- <action name="r1">
- <result type="chain">
- <param name="actionName">r2</param>
- <param name="namespace">/pp</param>
- <param name="method">method123</param>
- </result>
- </action>
- </package>
- <package name="paramsRedirect" namespace="/pp" extends="struts-default">
- <action name="r2">
- <result>/1.jsp</result>
- </action>