【Struts2二】结果集(result-type)
在jsp/servlet中,结果集一般是指请求转发和重定向这两种。
|
<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>
|
| < result type = "redirect" name = "redirect"> / resulttype/resulttype.jsp </result > |
| < include file = "struts-resulttype.xml" ></include > |
|
<?xml version= "1.0" encoding ="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache
Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="resulttype" namespace="/" extends="struts-default" >
<!--
全局结果集:当某个方法返回为name属性相应的值时。就调用全局结果集进行处理。
能够用来进行通用错误页面的处理。
-->
<global-results>
<result name="error" >errot/error.jsp</ result>
</global-results>
<!-- 測试请求转发
--> <action name= "dispatcherAction" method="testDispatcher" class="cn.itheima03.struts2.resulttype.ResultTypeAction" >
<!--
<result type="" name=""></result> :
result标签代表一种结果集。在struts-default.xml中定义了一写结果集
type
dispatcher 转发 默认值
redirect 重定向
redirectAction 重定向到一个action
name
success 默认值
method="testDispatcher"
-->
<result type= "redirect" name="redirect" >/ resulttype/resulttype.jsp</result >
</action>
<!-- 測试重定向
浏览器中的 url会发生变化:
http://localhost/itheima03_struts2/resulttype/resulttype.jsp
-->
<action name= "redirectAction" method="testRedirect" class="cn.itheima03.struts2.resulttype.ResultTypeAction" >
<result type= "redirect" name="redirect" >/ resulttype/resulttype.jsp</result >
</action>
<!--
測试重定向到一个action
浏览器的地址栏会变成:
http://localhost/itheima03_struts2/dispatcherAction!testDispatcher.action
-->
<action name= "redirectActionAction" method="testRedirectAction" class="cn.itheima03.struts2.resulttype.ResultTypeAction" >
<result type= "redirectAction" name="redirectAction" >dispatcherAction!testDispatcher.action </result>
</action>
<!-- 測试全局结果集的处理
当自定义的name属性的值和全局结果集name属性值一直时,自定义的优先!
1.当自己的name='error'时,使用自定义的结果集。
2.当自己的name!='error'时。假设訪问的方法返回的是"error",那么调用全局结果集进行处理!
-->
<action name= "globalResultAction_*" method ="{1}" class="cn.itheima03.struts2.resulttype.ResultTypeAction" >
<result name="error" >resulttype/resulttype.jsp</ result>
</action>
</package >
</struts>
|
|
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class ResultTypeAction extends ActionSupport{
/**
* 測试请求转发结果集:type为dispatcher
* <result type="dispatcher" name="dispatcher">/resulttype/resulttype.jsp </result>
*/
public String
testDispatcher(){ ServletActionContext. getRequest().setAttribute("aa", "aadda");
// return "error";//測试全局结果集
return "dispatcher" ;
}
/**
* 測试重定向
*/
public String
testRedirect(){ ServletActionContext. getRequest().setAttribute("aa", "aaa");
return "redirect" ;
}
/**
* 測试重定向到一个action
* <result type="redirectAction" name="redirectAction">dispatcherAction!testDispatcher.action</result>
*/
public String
testRedirectAction(){ ServletActionContext. getRequest().setAttribute("aa", "aaa");
return "redirectAction" ;
}
/**
* 測试全局结果集
* 返回值要和全局结果集的name属性值要相应!
* <global-results>
<result name="error">errot/error.jsp </result>
</global-results>
*
* @return
*/
public String
globle(){ return "error" ;
}
}
|
【Struts2二】结果集(result-type)的更多相关文章
- struts2 跳转类型 result type=chain、dispatcher、redirect(redirect-action)
dispatcher 为默认跳转类型,用于返回一个视图资源(如:jsp) Xml代码 : <result name="success">/main.jsp</re ...
- Struts2 语法--result type
result type: dispatcher,redirect:只能跳转到jsp,html之类的页面,dispatcher属于服务器跳转, redirect属于客户端跳转 chain: 等同于for ...
- 基于struts2注解@action的@Result跳转问题——跳转到另一个action
初学ssh 基于注解的方式简单灵活,但是做一个例子的时候,添加用户AddUser 完成后 想页面跳转到 ListUser 这个action, 然后action 成功后 会跳转到list.jsp 显示 ...
- struts2.xml 中result type属性说明
chain 用来处理Action链,被跳转的action中仍能获取上个页面的值,如request信息. com.opensymphony.xwork2.Acti ...
- struts2 Result Type四个常用转跳类型
Result的四个常用转跳类型分别为 Dispatcher 用来转向页面,是Struts的默认形式 Redirect 重定向到一个URL Chain 用来处理Action链 RedirectAc ...
- Struts2 中result type属性说明
Struts2 中result type属性说明 首先看一下在struts-default.xml中对于result-type的定义: <result-types><result-t ...
- struts2 action result type类型
struts2 action result type类型 1.chain:用来处理Action链,被跳转的action中仍能获取上个页面的值,如request信息. com.opensymphony. ...
- struts2 result type类型
result标签中type的类型 类型 说明 chain 用于Action链式处理 dispatcher 用于整合JSP,是<result>元素默认的类型 freemarket 用来整合F ...
- struts2 中 result type="stream"
Stream result type是Struts2中比较有用的一个feature.特别是在动态生成图片和文档下载的情况下 1:图片验证码: Action类,action主要要提供一个获取InputS ...
随机推荐
- 【codeforces 812B】Sagheer, the Hausmeister
[题目链接]:http://codeforces.com/contest/812/problem/B [题意] 一个老大爷在一楼; 然后他有n楼的灯要关(最多n楼); 每楼有m个房间; 给出每个房间的 ...
- 2015 Multi-University Training Contest 7 hdu 5373 The shortest problem
The shortest problem Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Oth ...
- C#-GC基础(待补充)
Finalize方法与Dispose方法区别 1. Finalize只释放非托管资源: 2. Dispose释放托管和非托管资源: // D 是神的天敌3. 重复调用Finalize和Dispose是 ...
- WPF中多线程统计拆箱装箱和泛型的运行效率
WPF中多线程统计拆箱装箱和泛型的执行效率.使用的知识点有泛型.多线程.托付.从样例中能够看到使用泛型的效率至少提升2倍 MainWindow.xaml <Window x:Class=&quo ...
- UltraEdit正則表達式介绍及实例
前几天,有个将Excel中的数据导入到数据库中的需求.原本想到用程序读取Excel中的数据并存储到数据库中,但经一哥们的提醒,说用 EditPlus或UltraEdit这种工具直接将数据拼凑成SQL插 ...
- HDU 4856 Tunnels(BFS+状压DP)
HDU 4856 Tunnels 题目链接 题意:给定一些管道.然后管道之间走是不用时间的,陆地上有障碍.陆地上走一步花费时间1,求遍历全部管道须要的最短时间.每一个管道仅仅能走一次 思路:先BFS预 ...
- TRIZ系列-创新原理-34-抛弃和再生部件原理
抛弃和再生部件原理的详细描写叙述例如以下:1)物件的部件在完毕其功能,或者变得没用之后,就被扔掉(丢弃.溶解,挥发等),或者在工作过程已经改变.2)物体已经用掉的部件,应该在工作期间恢复: 对于抛弃原 ...
- org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files (x86)\Java\jdk1.7.0_7
32为的androidstudio: build.gradle: dexOptions { javaMaxHeapSize "1g"}
- mysql安装,数据库连接
安装教程http://jingyan.baidu.com/article/e3c78d64412ae83c4c85f5fd.html 首先打开MySQL官网,找到Downloads标签,点击进入.如果 ...
- string的一些操作
//str.insert(1, "bbb"); //str.erase(5);//删除5以后的数字 //str.erase(str.begin()+2);//删除某个字符 //co ...