跳转类型总结:
< 1 > type="dispatcher" 是默认值,常用于jsp页面跳转(服务器端的跳转)
<!--常规默认写法-->
<result name="success">/show.jsp</result>
<!--完整写法-->
<result name="success" type="dispatcher">
<param name="location">/show.jsp</param>
</result>
< 2 > type="redirect" 重定向到jsp、action、外部网址 【不保存action的request对象】(客户端的跳转)
<result name="success" type="redirect">/show.jsp</result>
<result name="success" type="redirect">/test1.action</result>
<result name="success" type="redirect">http://www.baidu.com</result>
< 3 > type="redirectAction" 重定向到另外一个action 【不保存action的request对象】(客户端的跳转)
<result name="success" type="redirectAction">
<!--重定向action名-->
<param name="actionName">login</param>
<!--带的参数-->
<param name="userId">userId</param>
</result>
< 4 > type="chain" 常用于action的跳转,如下面的例子【保存action的request对象】(服务器端的跳转)
下面代码是Struts2 同一个package的不同action跳转方式:
注意:result 需要写想要跳转的action的name
<struts>
<package name="test" namespace="/testNamespace1" extends="struts-default">
<action name="test1" class="action.Test1" method="execute">
<result name="success">/show.jsp</result>
<result name="error">/error.jsp</result>
</action>
<action name="test2" class="action.Test2" method="execute">
<result name="success">/show.jsp</result>
<!-- 下面是重点 -->
<result type="chain" name="toTest1">test1</result>
<result name="error">/error.jsp</result>
</action>
</package>
</struts>
下面代码是Struts2 不同package的不同action跳转方式:
注意:result 需要添加两个参数,一个是actionName 第二个是另一个包的namespace
<struts>
<package name="test" namespace="/testNamespace1" extends="struts-default">
<action name="test1" class="action.Test1" method="execute">
<result name="success">/show.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
<package name="test" namespace="/testNamespace2" extends="struts-default">
<action name="test2" class="action.Test2" method="execute">
<result name="success">/show.jsp</result>
<!-- 下面是重点 -->
<result type="chain" name="toTest1">
<param name="actionName">test1</param>
<param name="namespace">/testNamespace1</param>
</result>
<result name="error">/error.jsp</result>
</action>
</package>
</struts>