转自: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. c#如何保存richtextbox的rtf格式

    C# codethis.rtbText.Rtf = @"{\rtf1\ansi\ansicpg936\deff0\deflang1033\deflangfe2052" + @&qu ...

  2. python 魔法方法补充(__setattr__,__getattr__,__getattribute__)

    python 魔法方法补充 1 getattribute (print(ob.name) -- obj.func())当访问对象的属性或者是方法的时候触发 class F(object): def _ ...

  3. Thrift之c++实例

    一.c++实例 1.下载与安装thrift工具 http://thrift.apache.org/download/ .服务端代码 1).新建vc工程. 2).将上面的文件拷贝到工程目录下,Test_ ...

  4. [置顶] Git 配置SSH简单玩法?

    > 第一步下载git点击直接下载 他会检测您的系统当前是64bit还是32bit安装过程不再啰嗦反正就是Next Next Next Finish 第二步这里你可以下载TortoiseGit点击 ...

  5. 项目中使用的ajax代码_:觉得还好

    POST>> submitHandler:function(form){ var username = $('#user_name').val(); var password = $('# ...

  6. [EMWIN]关于 GUI_GetPixelIndex 使用的问题

    在模拟器上和st单片机上使用以下代码: GUI_COLOR color0,color1; color0 = GUI_GetPixelIndex(rect.x1+1, rect.y0);color1 = ...

  7. 第一章 Oracle10g数据库新特性

    1.1 Oracle10g数据库概述 1.1.1 网格数据库 Oracle10g数据库是一种为网格计算而设计的数据库,是第一个用完整集成的软件基础架构来实现网络计算的数据库系统,其中10g的g表示gr ...

  8. LeetCode Subarray Product Less Than K

    原题链接在这里:https://leetcode.com/problems/subarray-product-less-than-k/description/ 题目: Your are given a ...

  9. 【spring源码学习】spring的AOP面向切面编程的实现解析

    一:Advice(通知)(1)定义在连接点做什么,为切面增强提供织入接口.在spring aop中主要描述围绕方法调用而注入的切面行为.(2)spring定义了几个时刻织入增强行为的接口  => ...

  10. yield关键字用法与解析(C# 参考)

    yield 关键字向编译器指示它所在的方法是迭代器块. 编译器生成一个类来实现迭代器块中表示的行为. 在迭代器块中,yield 关键字与 return 关键字结合使用,向枚举器对象提供值. 这是一个返 ...