查看struts-default.xml文件,可以看到如下配置:
<span style="white-space:pre"> </span><result-types>
<result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult"/>
<result-type name="dispatcher" class="org.apache.struts2.dispatcher.ServletDispatcherResult" default="true"/>
<result-type name="freemarker" class="org.apache.struts2.views.freemarker.FreemarkerResult"/>
<result-type name="httpheader" class="org.apache.struts2.dispatcher.HttpHeaderResult"/>
<result-type name="redirect" class="org.apache.struts2.dispatcher.ServletRedirectResult"/>
<result-type name="redirectAction" class="org.apache.struts2.dispatcher.ServletActionRedirectResult"/>
<result-type name="stream" class="org.apache.struts2.dispatcher.StreamResult"/>
<result-type name="velocity" class="org.apache.struts2.dispatcher.VelocityResult"/>
<result-type name="xslt" class="org.apache.struts2.views.xslt.XSLTResult"/>
<result-type name="plainText" class="org.apache.struts2.dispatcher.PlainTextResult" />
</result-types>
其中chain是action级别的跳转,比如跳转到同一package下的其它action:
<span style="white-space:pre"> </span> <action name="action1">
<result type="chain">action2</result>
</action>
如果跳转到其他package下,看如下配置:
<action name="action1">
<result type="chain">
<param name="actionName">action2</param>
<param name="namespace">/myspace</param>
</result>
</action>
即添加参数,指定actionName和namespace。
dispatcher用来跳转页面,也是默认值,比如下面的跳转:
<span style="white-space:pre"> </span> <action name="action1">
<result type="dispatcher">/test.jsp</result>
</action>
freemarker用来处理freemarker模板。
httpheader控制特殊http行为的结果类型。
redirect重定向新的页面,比如:
<span style="white-space:pre"> </span> <action name="action1">
<result type="redirect">/test.jsp</result>
</action>
redirectAction是action级别的跳转,比如:
<action name="action1">
<result type="redirectAction">action2</result>
</action>
stream通常处理文件下载等。
velocity用来处理velocity模板。
xslt处理XML/XSLT模板。
plainText显示原始内容。
注意:这里要区分客户端跳转和服务器端跳转的区别。