Struts2支持的处理结果类型

      Struts2支持使用多种视图技术,例如JSP、Velocity和FreeMarker等。当一个Action处理用户请求结束后,仅仅返回一个字符串,这个字符串就是逻辑视图名,但改逻辑视图并未与任何的视图技术及任何的资源关联--直到我们在struts.xml文件中配置改逻辑视图。

  结果类型决定了Action处理结束后,下一步将执行那种类型的动作。

  Struts2的结果类型要求实现com.opensymphony.xwork.Result,这个结果是所有Action执行结果的通用接口。如果我们需要自己的结果类型,我们应该提供一个实现改接口的类,并在struts.xml文件中配置改结果类型。

  Struts2默认提供了一系列的结果类型,下面是struts-default.xml配置文件的配置片段:

 1  <result-types>
 2      <!-- Action 链式处理结果类型 -->
 3      <result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult"/>
 4      <!-- 用于JSP整合的结果类型 -->
 5      <result-type name="dispatcher" class="org.apache.struts2.dispatcher.ServletDispatcherResult" default="true"/>
 6      <!-- 用于 FreeMarket 整合的结果类型 -->        
 7      <result-type name="freemarker" class="org.apache.struts2.views.freemarker.FreemarkerResult"/>
 8      <!-- 用于控制特殊的 HTTP 行为的结果类型 -->
 9      <result-type name="httpheader" class="org.apache.struts2.dispatcher.HttpHeaderResult"/>
10      <!-- 用于直接跳转到其他 URL 的结果类型 -->
11      <result-type name="redirect" class="org.apache.struts2.dispatcher.ServletRedirectResult"/>
12      <!-- 用于直接跳转到其他 Action 的结果类型 -->
13      <result-type name="redirectAction" class="org.apache.struts2.dispatcher.ServletActionRedirectResult"/>
14      <!-- 用于向浏览器返回一个InputStream的结果类型 -->
15      <result-type name="stream" class="org.apache.struts2.dispatcher.StreamResult"/>
16      <!-- 用于整合 Velocity 的结果类型 -->
17      <result-type name="velocity" class="org.apache.struts2.dispatcher.VelocityResult"/>
18      <!-- 用于整合 XML/XSLT 的结果类型 -->
19      <result-type name="xslt" class="org.apache.struts2.views.xslt.XSLTResult"/>
20      <!-- 用于显示某个页面的源代码的结果类型 --> 
21      <result-type name="plainText" class="org.apache.struts2.dispatcher.PlainTextResult" />
22  </result-types>

  在struts2-jasperreports-plugin-2.0.6.jar的struts-plugin.xml文件中的配置片段:

<result-types>
    <!-- 用于整合 JasperReport 的结果类型 -->        
    <result-type name="jasper" class="org.apache.struts2.views.jasperreports.JasperReportsResult"/>
</result-types>

  在struts-jfreechart-plugin-2.0.6.jar的struts-plugin.xml文件中的配置片段:

<result-types>
    <!-- 用于整合 JSF 的结果类型 -->
    <result-type name="jsf" class="org.apache.struts2.jsf.FacesResult"/>
</result-types>

<result-types> <!-- 用于整合 Tiles 的结果类型 --> <result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult"/> </result-types>
原文地址:https://www.cnblogs.com/prairielonewolf/p/3287972.html