分享知识-快乐自己:Struts2 - result标签的name属性和type属性
1):result的name属性
例如:<result name="success">/pages/success.jsp</result>
Struts 2带有一个可选的动作接口(com.opensymphony.xwork2.Action)。通过实现这个接口,它带来了一些方便和好处,看下面的源代码
package com.opensymphony.xwork2;
public interface Action {
public static final String SUCCESS = "success";
public static final String NONE = "none";
public static final String ERROR = "error";
public static final String INPUT = "input";
public static final String LOGIN = "login";
public String execute() throws Exception;
}
这个接口是非常简单的,配有5个常用常数值: success, error, none, input and logic。
SUCCESS:Action正确的执行完成,返回相应的视图,success是name属性的默认值;
NONE:表示Action正确的执行完成,但并不返回任何视图;
ERROR:表示Action执行失败,返回到错误处理视图;
INPUT:Action的执行,需要从前端界面获取参数,INPUT就是代表这个参数输入的界面,一般在应用中,会对这些参数进行验证,如果验证没有通过,将自动返回到该视图;
LOGIN:Action因为用户没有登陆的原因没有正确执行,将返回该登陆视图,要求用户进行登陆验证。
2):result的type属性
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标签的name属性和type属性的更多相关文章
- Struts2 配置文件result的name属性和type属性
Struts2 配置文件result的name属性和type属性:Name属性SUCCESS:Action正确的执行完成,返回相应的视图,success是 name属性的默认值: NONE:表示Act ...
- 3.Struts2配置文件标签介绍
Struts2的很多核心功能都是由拦截器实现的. struts-default.xml中定义了这些拦截器与Result类型. 所以,不继承struts-default包,Struts2提供的很多核心功 ...
- Struts2 result type(结果类型)
转自:http://www.cnblogs.com/liaojie970/p/7151103.html 在struts2框架中,当action处理完之后,就应该向用户返回结果信息,该任务被分为两部分: ...
- Struts2框架05 result标签的类型
1 result标签是干什么的 就是结果,服务器处理完返回给浏览器的结果:是一个输出结果数据的组件 2 什么时候需要指定result标签的类型 把要输出的结果数据按照我们指定的数据类型进行处理 3 常 ...
- struts2简单入门-关于Result标签Type属性的说明
Result标签 作用 当action执行完毕,后要返回什么样的视图. Type属性 决定返回的是什么视图. struts-default.xml的Type属性的定义 <result-types ...
- Struts2框架05 result标签的类型、拦截器
1 result标签是干什么的 就是结果,服务器处理完返回给浏览器的结果:是一个输出结果数据的组件 2 什么时候需要指定result标签的类型 把要输出的结果数据按照我们指定的数据类型进行处理 3 常 ...
- 分享知识-快乐自己:Struts2 (常用的 constant 总结)
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-/ ...
- 分享知识-快乐自己:Struts2框架 工作原理及执行流程图(拦截器的使用)
Struts2 架构图: 1):提交请求 客户端通过 HttpServletRequest 向 Servlet (即Tomcat)提交一个请求. 请求经过一系列的过滤器,例如图中的 ActionCon ...
- 分享知识-快乐自己:初始 Struts2 (基本概念)及 搭建第一个Demo
1):struts2 的基本概念: 1-1):Struts2 是什么? 1.Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2 ...
随机推荐
- Python流程控制 if / for/ while
在Python中没有switch语句 If语句 if condition: do sth elif condition: Do sth else: Do sth while语句有一个可选的else从句 ...
- win7 iis6怎么部署.net网站
win7 iis6怎么部署.net网站,把本机当成网站服务器来简单介绍. 方法/步骤 1 首先在本机有一个可以正常运行的网站.比如vs2010中有一个网站项目,网站项目运行后正常. 2 打开iis6, ...
- Html5 播放Hls格式视频
二群号为766718184 ,博主提供Ffmpeg.GB28181视频教程 播放地址: http://www.iqiyi.com/u/1426749687 移动端Html5支持Hls格式视频播放,创 ...
- 制作个人开发IDE
1.打开VS2013,新建项目: 2.点击下一步,下一步.到达例如以下界面: 3.下一步 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3R ...
- dm8148 videoM3 link源代码解析
样例:从A8送一帧jpeg图片到videoM3解码,然后在将解码的数据传递到A8, 这个流程涉及的link源代码例如以下: dm8148 link之间数据传递 1)在A8上调用IpcBitsOutLi ...
- Angular+Angular-Ui实现分页(代码更加简单,更加容易懂哦)
前面写了个分页,但是个人认为只能玩玩,实际业务上的话代码太繁杂(笔者想走代码.性能精简化之路[不知道哪天才能成为高手~·YY一下无伤大雅]),逻辑上有点混乱.那么今天我们来看看另外一种只实现分页没有查 ...
- 基于jenkins,tekton等工具打造kubernetes devops平台
本贴为目录贴,将不断更新 目录 1.Docker在centos下安装以及常见错误解决 2.使用kubernetes 官网工具kubeadm部署kubernetes(使用阿里云镜像) 3.无法访问gcr ...
- 小东和三个朋友一起在楼上抛小球,他们站在楼房的不同层,假设小东站的楼层距离地面N米,球从他手里自由落下,每次落地后反跳回上次下落高度的一半,并以此类推知道全部落到地面不跳,求4个小球一共经过了多少米?(数字都为整数) 给定四个整数A,B,C,D,请返回所求结果。
include #include<vector> using namespace std; class Balls { public: int calcDistance(int A, in ...
- React系列之--props属性
版权声明:本文为博主原创文章,未经博主允许不得转载. PS:转载请注明出处作者:TigerChain地址:http://www.jianshu.com/p/fa81cebac3ef本文出自TigerC ...
- linux 打印系统时间操作
版权为个人所有,如需转载请说明出处.(东北大亨) http://www.cnblogs.com/northeastTycoon/p/5511498.html 1. 打开shell脚本 例子1:输出两天 ...