Struts2 中result type属性说明

原创 2016年08月29日 22:47:30

Struts2框架提供了大量的默认的结果类型,这些类型定义在struts2-core-版本号.jar文件下的Struts-default.xml文件中。首先看一下在struts-default.xml中对于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" />
</result-types>
    chain:用来处理Action链,被跳转的action中仍能获取上个页面的值,如request信息.
    dispatcher:用来转向页面,通常处理JSP.
    freemaker:处理FreeMarker模板.
    httpheader:控制特殊HTTP行为的结果类型.
    redirect:重定向到一个URL,被跳转的页面中丢失传递的信息,如request.
    redirectAction:重定向到一个Action,跳转的页面中丢失传递的信息.
    stream:向浏览器发送InputSream对象,通常用来处理文件下载,还可用于返回AJAX数据.
    velocity:处理Velocity模板.
    xslt:处理XML/XLST模板.

    plainText:显示原始文件内容,例如文件源代码.

        Result的首要职责,是封装Action层到View层的跳转逻辑。之前我们已经反复提到,Struts2的Action是一个与Web容器无关的POJO。所以,在Action执行完毕之后,框架需要把代码的执行权重新交还给Web容器,并转向到相应的页面或者其他类型的View层。而这个跳转逻辑,就由Result来完成。这样,好处也是显而易见的,对Action屏蔽任何Web容器的相关信息,使得每个层次更加清晰。 
       View层的显示类型非常多,有最常见的JSP、当下非常流行的Freemarker/Velocity模板、Redirect到一个新的地址、文本流、图片流、甚至是JSON对象等等。所以Result层的独立存在,就能够对这些显示类型进行区分,并封装合理的跳转逻辑。 

重点说一下redirect和redirectAction的区别:

       (1)使用redirect需要后缀名,使用redirect-action可以不需要后缀名.

       (2)type="redirect"的值可以转到其它命名空间下的action,而redirect-action只能转到同一命名空下的action,因此它可以省略.do的后缀直接写action的名称.

参考

版权声明:本文为博主原创文章,未经博主允许不得转载。

struts2中result的type属性详解

(1)type="dispatcher" 为默认,用于jsp页面跳转  /index.jsp   完整的写法为:          /index.jsp     (2)type="redir...
  • totally123
  • totally123
  • 2015年01月05日 09:00
  • 3796

struts2.xml 中result type属性说明

chain        用来处理Action链,被跳转的action中仍能获取上个页面的值,如request信息。        com.opensymphony.xwork2.ActionChai...
  • voyage_mh1987
  • voyage_mh1987
  • 2010年08月21日 20:08
  • 19992

Struts2 - result标签的name属性和type属性

1.result的name属性 例如:/pages/success.jsp Struts 2带有一个可选的动作接口(com.opensymphony.xwork2.Action)。通过实现这个...
  • zkflame
  • zkflame
  • 2016年03月29日 16:24
  • 8236

Struts2配置RESULT中TYPE的参数说明

chain           用来处理Action链,被跳转的action中仍能获取上个页面的值,如request信息。           com.opensymphony.xwo...
  • randomnet
  • randomnet
  • 2013年03月10日 14:12
  • 24878

struts2的result-type详解

在struts2-core.jar/struts-default.xml中,我们可以找到关于result-type的一些配置信息,从中可以看出struts2组件默认为我们提供了这 些result...
  • ETTTTTSS
  • ETTTTTSS
  • 2012年04月21日 19:02
  • 40532

struts2.xml 中的result标签type属性

在struts-default.xml 中可以找到如下type的参数 ...
  • qq_36238595
  • qq_36238595
  • 2017年11月27日 15:35
  • 30

Struts2 中result type属性说明

Struts2框架提供了大量的默认的结果类型,这些类型定义在struts2-core-版本号.jar文件下的Struts-default.xml文件中。首先看一下在struts-default.xml...
  • u010097777
  • u010097777
  • 2016年08月29日 22:47
  • 1375

struts2配置文件中Action中的各属性的含义

Action的配置属性及其含义  博客分类: Struts  StrutsApacheBeanJSPServlet attribute:      这个属性用来指定ActionForm保存到指...
  • zndxlxm
  • zndxlxm
  • 2012年03月28日 21:10
  • 8040

struts2 result type 类型

我们在使用struts2进行配置struts.xml的时候,中有个tyep属性用来配置跳转类型 默认不写时tyep="dispatcher",我们可以根据我们的需要选择跳转类型 例如:User_l...
  • sunxiaosunxiao
  • sunxiaosunxiao
  • 2011年09月01日 22:51
  • 4092

Struts2中的action中result中的type有哪些类型

Struts2框架默认配置中已经提供了很多的result类型,可以打开struts-default.xml配置文件来查看。   chain:Action链式处理的结果类型,也就是将结果转发到...
  • qq_36324341
  • qq_36324341
  • 2017年08月31日 11:07
  • 485
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Struts2 中result type属性说明
举报原因:
原因补充:

(最多只允许输入30个字)