我使用的版本是2.1.8.1,以这个版本来说一下Struts2的处理结果有哪些!
在struts2-core-2.1.8.1.jar中找到struts-default.xml,里面有一些信息可以参考。从这个文件中可以找到<result-types>标签内就是处理结果类型。
以下是内容和注释:
<package name="struts-default" abstract="true">
<result-types>
<!-- Action链式处理的结果类型 -->
<result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult"/>
<!-- 用于转发URL的结果类型,一般转发的是JSP页面 -->
<result-type name="dispatcher" class="org.apache.struts2.dispatcher.ServletDispatcherResult" default="true"/>
<!-- 用于和FreeMarker整合的结果类型 -->
<result-type name="freemarker" class="org.apache.struts2.views.freemarker.FreemarkerResult"/>
<!-- 用于控制HTTP头的结果类型 -->
<result-type name="httpheader" class="org.apache.struts2.dispatcher.HttpHeaderResult"/>
<!-- 用于重定向的结果类型 -->
<result-type name="redirect" class="org.apache.struts2.dispatcher.ServletRedirectResult"/>
<!-- 用于重定向到其他Action的结果类型 -->
<result-type name="redirectAction" class="org.apache.struts2.dispatcher.ServletActionRedirectResult"/>
<!-- 用于向客户端输出字节流的结果类型 -->
<result-type name="stream" class="org.apache.struts2.dispatcher.StreamResult"/>
<!-- 用于整合Velocity的结果类型 -->
<result-type name="velocity" class="org.apache.struts2.dispatcher.VelocityResult"/>
<!-- 用于整合XML\XSLT的结果类型 -->
<result-type name="xslt" class="org.apache.struts2.views.xslt.XSLTResult"/>
<!-- 用于显示页面原始代码的结果类型 -->
<result-type name="plainText" class="org.apache.struts2.dispatcher.PlainTextResult" />
</result-types>
</package>
另外,在一些插件包中也可以找到一些插件的结果类型:
struts2-jfreechart-plugin-2.1.8.1.jar
<package name="jfreechart-default" extends="struts-default">
<result-types>
<result-type name="chart" class="org.apache.struts2.dispatcher.ChartResult">
<param name="height">150</param>
<param name="width">200</param>
</result-type>
</result-types>
</package>
struts2-jasperreports-plugin-2.1.8.1.jar
<package name="jasperreports-default" extends="struts-default">
<result-types>
<result-type name="jasper" class="org.apache.struts2.views.jasperreports.JasperReportsResult"/>
</result-types>
</package>
struts2-jsf-plugin-2.1.8.1.jar
<package name="jsf-default" extends="struts-default">
<result-types>
<result-type name="jsf" class="org.apache.struts2.jsf.FacesResult" />
</result-types>
</package>
struts2-tiles-plugin-2.1.8.1.jar
<package name="tiles-default" extends="struts-default">
<result-types>
<result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult"/>
</result-types>
</package>