struts2逻辑视图类型汇总与解释(转)

在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指定字符集。
时间: 10-29

struts2逻辑视图类型汇总与解释(转)的相关文章

Struts2 动态视图(注解)

Struts2是一款优秀的MVC框架,支持多种视图类型,通过绑定值到视图.本文以代码的形式,介绍动态视图. Struts2配置Action有注解和XML方式,在这里使用注解方式. 一般的写法     @Action(value = "index", results = {@Result(name = SUCCESS, location = "index.jsp")})     public String index() {         return SUCCES

十二 INPUT逻辑视图的配置

Action接口中提供了五个逻辑视图的名称 SUCCESS ERROR LOGIN INPUT:input在某些拦截器会使用 NONE 配置逻辑视图:struts_demo2.xml,配置后出现错误信息会跳转到指定页面 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Conf

Struts2 第六讲 -- Struts2的结果类型

7.struts2的结果类型 l 每个 action 方法都将返回一个 String 类型的值, Struts 将根据这个值来决定响应什么结果. l 每个 Action 声明都必须包含有数量足够多的 result 元素, 每个result 元素分别对应着 action 方法的一个返回值. l result 元素可以有下面两个属性 l  name: 结果的名字, 必须与 Action 方法的返回值相匹配, 默认值为 success l  type: 响应结果的类型. 默认值为 dispatcher

struts2的返回类型、struts的标签库、struts2中完成国际化

struts2的返回类型:在jsp-servlet中, 返回的类型主要有 转发, 重定向: 转发主要是RequestDispatcher的forward方法来进行操作的req.getRequestDispatcher("goods/queryGoodFenYe.jsp").forward(req, resp);重定向主要使用response对象的一些方法来操作:1.response.sendRedirect("index.jsp");2.response.addHe

struts2基础----&gt;自定义类型转换器

这一章,我们开始struts2中自定义类型转换器的学习. 自定义类型转换器 一.定义一个继承于StrutsTypeConverter的转换类: package com.huhx.converter; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Map; import o

Windows平台上安装LaTex工具以及LaTex常见的文件类型汇总

LaTex广泛用于学术报告.paper.学术PPT的撰写和制作,熟练掌握LaTex是在学术界生存的必备基本技能之一.本文简要介绍了在Windows平台上安装LaTex工具的基本方法和流程以及LaTeX常见的文件类型. 1.下载MiKTeX,下载地址为:http://miktex.org/download.MiKTeX的正确读音为/'mik'tek/. 2.安装MikTeX.安装完毕后,在开始菜单会出现"Previewer"和"TeXworks"程序图标.Previe

C++ - RTTI(RunTime Type Information)执行时类型信息 具体解释

RTTI(RunTime Type Information)执行时类型信息 具体解释 本文地址: http://blog.csdn.net/caroline_wendy/article/details/24369987 RTTI, RunTime Type Information, 执行时类型信息, 是多态的主要组成部分, 通过执行时(runtime)确定使用的类型, 执行不同的函数,复用(reuse)接口. dynamic_cast<>能够 使基类指针转换为派生类的指针, 通过推断指针的类型

Struts2处理什么类型的请求?

在web.xml中启用Struts2核心过滤器时,大家基本都按照这种写法: <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <f

HTTP 头部信息和错误码汇总详细解释,必收藏!

最近在调试 前后端分离的请求测试,遇到了一个406错误, 无法接受,于是开始了人肉搜索406 最后 还是HTTP头部信息里的 Accept:application/json  这个Accept 导致的, 后端设置了只允许application/json 这种形式,so前端模拟请求的时候,你也要和后端沟通好,然后发送请求参数,就可以了! 正好,也忘得差不多了,下面我们就来总结和回顾一下HTTP 的一些参数 和错误码等等 前端不懂HTTP协议就等于废了一条腿, 跑不快,飞不高! GO!!! 本文为多