struts2 result type 介绍

来源:互联网 发布:sql not in怎么用 编辑:程序博客网 时间:2024/04/27 23:47

在默认时,<result>标签的type属性值是“dispatcher”(实际上就是转发,forward)。开发人员可以根据自己的需要指定不同的类型,如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  

-------------------------------------------------------------------------------------------------------------------------------------------------------------

result配置的各种视图转发类型

 <action name="helloworld" class="cn.itcast.action.HelloWorldAction">

<result name="success">/WEB-INF/page/hello.jsp</result>

</action>

result配置类似于struts1中的forward,但struts2中提供了多种结果类型,常用的类型有: 

dispatcher(默认值) 转发

redirect           重定向

Chain               链

redirectAction    重定向到Action

plainText

1.跳转方式

dispatcher和chain是服务器端跳转,所以客户端只发起一次请求,产生一个action;

redirect和redirectAction是客户端跳转,所以客户端发起两次请求。

2.跳转内容

dispatcher和redirect跳转的是views(一般是jsp页面);

chain和redirectAction跳转的是一个action。


原创粉丝点击