转自:http://www.cnblogs.com/liaojie970/p/7151103.html

在struts2框架中,当action处理完之后,就应该向用户返回结果信息,该任务被分为两部分:结果类型和结果本身。

结果类型 提供了返回给用户信息类型的实现细节。结果类型通常在Struts2中就已预定义好了(见下表),或者是由插件提供,开发人员也可以自定义结果类型。默认 配置的结果类型是dispatcher,该结果类型使用JSP来向用户显示结果。当定义了结果类型之后,该结果类型可以在不同的action中重复使用。

Struts2框架提供的结果类型

已配置结果类型名  类 名  描 述
dispatcher  org.apache.struts2.dispatcher.
ServletDispatcherResult
 默认结果类型,用来呈现JSP页面
chain  com.opensymphony.xwork2.
ActionChainResult
 将action和另外一个action链接起来
freemarker  org.apache.struts2.views.freemarker.
FreemarkerResult
 呈现Freemarker模板
httpheader  org.apache.struts2.dispatcher.
HttpHeaderResult
 返回一个已配置好的HTTP头信息响应
redirect  org.apache.struts2.dispatcher.
ServletRedirectResult
 将用户重定向到一个已配置好的URL
redirectAction  org.apache.struts2.dispatcher.
ServletActionRedirectResult
 将用户重定向到一个已定义好的action
stream  org.apache.struts2.dispatcher.
StreamResult
 将原始数据作为流传递回浏览器端,
该结果类型对下载的内容和图片非常有用
velocity  org.apache.struts2.dispatcher.
VelocityResult
 呈现Velocity模板
xslt  org.apache.struts2.views.xslt.
XSLTResult
 呈现XML到浏览器,
该XML可以通过XSL模板进行转换
plaintext  org.apache.struts2.dispatcher.
PlainTextResult
 返回普通文本类容

简单说明一下result的name属性和type属性:
SUCCESS:Action正确的执行完成,返回相应的视图,success是name属性的默认值。
NONE:表示Action正确的执行完成,但并不返回任何视图。
ERROR:表示Action执行失败,返回到错误处理视图。
INPUT:Action的执行,需要从前端界面获取参数,INPUT就是代表这个参数输入的界面,一般在应用中,会对这些参数进行验证,如果验证没有通过,将自动返回到该视图。
LOGIN:Action因为用户没有登陆的原因没有正确执行,将返回该登陆视图,要求用户进行登陆验证。
dispatcher:请求转发,底层调用RequestDispatcher的forward()或include()方法,dispatcher是
type属性的默认值,通常用于转向一个JSP。localtion指定JSP的位置,parse如果为false表示location的值不会被当作
OGNL解析,默认为true。
redirect:重定向,新页面无法显示Action中的数据,因为底层调用response.sendRedirect("")方法,无法共享请求范围内的数据,参数与dispatcher用法相同。
redirect-action:重定向到另一个Action,参数与chain用法相同,允许将原Action中的属性指定新名称带入新Action
中,可以在Result标签中添加 <param name=”b”>${a}
</param>,这表示原Action中的变量a的值被转给b,下一个Action可以在值栈中使用b来操作,注意如果值是中文,需要做一
些编码处理,因为Tomcat默认是不支持URL直接传递中文的!
velocity:使用velocity模板输出结果,location指定模板的位置(*.vm),parse如果为false,location不被OGNL解析,默认为true。
xslt:使用XSLT将结果转换为xml输出,location指定*.xslt文件的位置,parse如果为false,location不被
OGNL解析,默认为true。matchingPattern指定想要的元素模式,excludePattern指定拒绝的元素模式,支持正则表达式,
默认为接受所有元素。

httpheader:根据值栈返回自定义的HttpHeader,status指定响应状态(就是指response.sendError(int
i)重定向到500等服务器的状态页)。parse如果为false,header的值不会被OGNL解析,headers,加入到header中的值,
例如: <param name=”headers.a”>HelloWorld
</param>。可以加多个,这些键-值组成HashMap。
freemaker:用freemaker模板引擎呈现视图,location指定模板(*.ftl)的位置,parse如果为false,location的值不会被OGNL解析。contentType指定以何中类型解析,默认为text/html。

chain:将action的带着原来的状态请求转发到新的action,两个action共享一个ActionContext,actionName指
定转向的新的Action的名字。method指定转向哪个方法,namespace指定新的Action的名称空间,不写表示与原Action在相同的
名称空间;skipActions指定一个使用 , 连接的Action的name组成的集合,一般不建议使用这种类型的结果。

stream:直接向响应中发送原始数据,通常在用户下载时使用,contentType指定流的类型,默认为
text/plain,contentLength以byte计算流的长度,contentDisposition指定文件的位置,通常为
filename=”文件的位置”,input指定InputStream的名字,例如:imageStream,bufferSize指定缓冲区大小,
默认为1024字节。
plaintext:以原始文本显示JSP或者HTML,location指定文件的位置,charSet指定字符集。

Struts2 result type(结果类型)的更多相关文章

  1. struts2 result type的类型

    一共十种类型 1.dispatcher 默认的类型,相当于servlet的foward,服务器端跳转.客户端看到的是struts2中配置的地址,而不是真正页面的地址.一般用于跳转到jsp页面 2.re ...

  2. struts2 Result Type四个常用转跳类型

    Result的四个常用转跳类型分别为 Dispatcher 用来转向页面,是Struts的默认形式 Redirect   重定向到一个URL Chain  用来处理Action链 RedirectAc ...

  3. struts2 result type类型

    result标签中type的类型 类型 说明 chain 用于Action链式处理 dispatcher 用于整合JSP,是<result>元素默认的类型 freemarket 用来整合F ...

  4. Struts2 result type

    Struts2支持的不同类型的返回结果为: type name 说明 dispatcher 缺省类型,用来转向页面,通常处理JSP chain 转向另一个action,用来处理Action链 redi ...

  5. 【Struts】strust.xml中<result type="">所有类型详解

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

  6. struts2 result type属性说明

    首先看一下在struts-default.xml中对于result-type的定义: <result-types><result-type name="chain" ...

  7. struts2 action result type类型

    struts2 action result type类型 1.chain:用来处理Action链,被跳转的action中仍能获取上个页面的值,如request信息. com.opensymphony. ...

  8. struts2 跳转类型 result type=chain、dispatcher、redirect(redirect-action)

    dispatcher 为默认跳转类型,用于返回一个视图资源(如:jsp) Xml代码 : <result name="success">/main.jsp</re ...

  9. Struts2 中result type属性说明

    Struts2 中result type属性说明 首先看一下在struts-default.xml中对于result-type的定义: <result-types><result-t ...

随机推荐

  1. 【2018年全国多校算法寒假训练营练习比赛(第四场)-A】石油采集(匈牙利算法)

    试题链接:https://www.nowcoder.com/acm/contest/76/A [思路] 每个‘#’的右边和下边如果也是‘#’说明这两个点构成通路,以此重构一幅图,然后找二分图的最大匹配 ...

  2. 10.Linux网卡的配置及详解

    1.网卡配置文件在/etc/sysconfig/network-scripts/下: [root@oldboy network-scripts]# ls /etc/sysconfig/network- ...

  3. R+markdown+LaTeX 中文编译解决方案

    一丢丢前言 很久之前曾试图以Rmarkdown编译pdf文档,无奈怎么鼓捣都会error,搜索了很久都没能找到比较好的解决方案.在配置上将编译器调成了xeLaTeX后就不了了之.这两天心血来潮研究了一 ...

  4. 利用aop完成功能权限验证遇到的问题

    报错信息如上,找不到此方法原因是services层的有的方法带了parameters! 解决:注解解析器这里的代码不变:  将得到的service层的class遍历所有方法(存在效率问题) 匹配该方法 ...

  5. 使用python对文件中的数值进行累加

    问题描述: 一个文件由若干条记录组成,记录的格式为:“num1 num2”,有时候,需要统计文件中num1对应的num2的总值.处理问题的思路 用传说中的python来处理,很方便.几行代码就可以了. ...

  6. HDU - 6430:TeaTree (线段树合并)

    Recently, TeaTree acquire new knoledge gcd (Greatest Common Divisor), now she want to test you. As w ...

  7. proxifier 注册码 +电脑全局代理设置

    L6Z8A-XY2J4-BTZ3P-ZZ7DF-A2Q9C(Portable Edition)  5EZ8G-C3WL5-B56YG-SCXM9-6QZAP(Standard Edition)  P4 ...

  8. element resetFields 方法报错

    resetFields  对整个表单进行重置,将所有字段值重置为初始值并移除校验结果:如果用了之后报错如下: 查了下资料,是DOM加载的顺序问题: 解决方法: this.$nextTick(() =& ...

  9. manyToManyField理解和用法

    转:http://www.cnblogs.com/linxiyue/p/3667418.html

  10. asp+jquery+ajax,asp后台程序执行不正常

    项目中前台页面通过jquery .ajax功能将关键数据传递到后台并写入数据库,调试中发现后台程序一直没有正常执行,后反复排查 发现asp程序中不能包含#include file语句