struts2中struts2.xml配置文件 result type 标签详细介绍说明

文章转自:iteye.blog.163.com 网易博客  

在struts2框架中,当action处理完之后,就应该向用户返回结果信息,该任务被分为两部分:结果类型和结果本身。
结果类型提供了返回给用户信息类型的实现细节。结果类型通常在Struts2中就已预定义好了,或者是由插件提供,开发人员也可以自定义结果类型。
在默认时,<result>标签的type属性值是“dispatcher”(实际上就是转发,forward) ,用于jsp页面跳转  。开发人员可以根据自己的需要指定不同的类型,如redirect、stream等。如下面代码所示:

<result name="save" type="redirect">
       /result.jsp
</result>

这此result-type可以在struts2-core-2.0.11.1.jar包或struts2源代码中的struts-default.xml文件中找到,在这个文件中找到<result-types>标签,所有的result-type都在里面定义了。代码如下:

<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" />

        <!-- Deprecated name form scheduled for removal in Struts 2.1.0. The camelCase versions are preferred. See ww-1707 -->

        <result-type name="redirect-action" class="org.apache.struts2.dispatcher.ServletActionRedirectResult"/>

        <result-type name="plaintext" class="org.apache.struts2.dispatcher.PlainTextResult" />

</result-types>

chain       
用来处理Action链     
com.opensymphony.xwork2.ActionChainResult    
   
dispatcher    
用来转向页面,通常处理JSP 
org.apache.struts2.dispatcher.ServletDispatcherResult    
   
freemaker 
处理FreeMarker模板    
org.apache.struts2.views.freemarker.FreemarkerResult    
   
httpheader
控制特殊HTTP行为的结果类型    
org.apache.struts2.dispatcher.HttpHeaderResult
   
redirect    
重定向到一个URL    
org.apache.struts2.dispatcher.ServletRedirectResult    
   
redirectAction    
重定向到一个Action    
org.apache.struts2.dispatcher.ServletActionRedirectResult    
   
stream    
向浏览器发送InputSream对象,通常用来处理文件下载,还可用于返回AJAX数据    
org.apache.struts2.dispatcher.StreamResult    
   
velocity    
处理Velocity模板    
org.apache.struts2.dispatcher.VelocityResult    
   
xslt    
处理XML/XLST模板    
org.apache.struts2.views.xslt.XSLTResult    
   
plainText    
显示原始文件内容,例如文件源代码    
org.apache.struts2.dispatcher.PlainTextResult    
   
redirect-action    
重定向到一个Action    
org.apache.struts2.dispatcher.ServletActionRedirectResult    
   
plaintext    
显示原始文件内容,例如文件源代码    
org.apache.struts2.dispatcher.PlainTextResult

猜你喜欢

转载自361.iteye.com/blog/1735779