文档章节

struts2 跳转类型 result type=chain、dispatcher、redirect

完美世界
 完美世界
发布于 2014/06/04 23:23
字数 551
阅读 62
收藏 0

dispatcher 为默认跳转类型,用于返回一个视图资源(如:jsp) 

Xml代码 :

<result name=”success”>/main.jsp</result> 
<result name=”success”>/main.jsp</result>

以上写法使用了两个默认,其完整的写法为: 

<result name=”success” type=”dispatcher”> 
        <param name=”location”>/maini.jsp</param> 
</result>

用于页面转发,页面跳转过程一直是同一个线程,Action中的数据一直保存在。location只能是页面,不能是另一个action(可用type=”chain”解决)。

redirect 类型用于重定向到一个页面,另一个action或一个网址。 

Xml代码:

<result name=”success” type=”redirect”>aaa.jsp</result> 
<result name=”success” type=”redirect”>bbb.action</result> 
<result name=”success” type=”redirect”>www.baidu.com</result>

缺点:redirect把一个http返回码(SUCCESS)以及返回的页面位置一起重新发给web服务器,容纳后由web服务器产生一个新的HTTP请求,就会产生一个新的线程,保存在原来Action执行的线程中的数据就无法访问。

所以,result需要包含Action的数据,那么redirect不是一个可行的办法。因为新的HTTP请求时在Servlet容器的新的线程中处理的,ActionContext中的所有状态都不会存在。

处理方法:

(方法一): 

<result name=”topic” type=”redirect”>/topicAction!findTopics.do?topicId=${topicId}</result>

(方法二): 

<result name=”topic” type=”redirect-action”> 
    <param name=”actionName”>findTopics</param> 
    <param name=”topicId”>${topicId}</param> 
</result>

redirect-action 结果类型使用ActionMapperFactory提供的ActionMapper来重定向请求到另外一个action 

Xml代码:

<result name=”err” type=”redirect-action”> 
    <param name=”actionName”>重定向的Action名</param> 
     <param name=”namespace”>重定向Action所在的名字空间</param> 
</result>

redirect和redirect-action两种结果类型在使用上其实并没有什么区别,只是写法不同而已。

chain 用于把相关的几个action连接起来,共同完成一个功能。 

Xml代码:

<action name=”step1″ class=”test.Step1Action”> 
     <result name=”success” type=”chain”>step2.action</result> 
</action> 
<action name=”step2″ class=”test.Step2Action”> 
<result name=”success”>finish.jsp</result> 
</action>

处于chain中的action属于同一个http请求,共享一个ActionContext

plaintextj 结果类型用于直接在页面上显示源代码

Xml代码:

<result name=”err” type=”plaintext”> 
    <param name=”location”>具体的位置</param> 
    <param name=”charSet”>字符规范(如GBK)</param> 
</result>



© 著作权归作者所有

共有 人打赏支持
完美世界
粉丝 10
博文 151
码字总数 134011
作品 0
西城
高级程序员
私信 提问
struts2 跳转类型 result type=chain、dispatcher、redirect

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

巴顿
2013/12/10
0
0
Struts2 result type(结果类型)

在struts2框架中,当action处理完之后,就应该向用户返回结果信息,该任务被分为两部分:结果类型和结果本身。 Struts2框架提供的结果类型 已配置结果类型名 类 名 描 述 dispatcher org.apa...

不忘初心_xu
2016/01/28
109
0
Struts2 注解中跳转 action

在xml中跳转action我想大家都是会的,那么注解中跳转其实也很类似,废话不多说,直接上代码: @Results({ @Result(name = "toEditFollow", type = "redirect", location = "follow!toEditFo...

heiyexue
2014/06/22
0
0
SSH框架之struts2专题2:Struts2配置文件

1 Struts2相关的六个配置文件 1.1 struts-default.xml文件(只读,不可修改) Struts2的默认核心配置文件,其中主要定义了11种返回类型、35种拦截器,以及拦截器栈。其中较重要的默认拦截器栈...

极客微信条
01/05
0
0
尚硅谷公开课--struts2--6--result

result ,即是struts.xml文件中action的一个子节点,每个action可以有多个result子节点,代表了一种action中execute方法的一种可能的返回值 共两个属性: name,type type表示结果的响应类型,...

小代码2016
2015/08/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

React和Redux的连接react-redux

通过Redux文档来了解react-redux,在一段时间的实践后准备翻一翻源代码,顺便做些相关的总结。我看的代码的npm版本为v4.0.0,也就是说使用的React版本是0.14.x。 react-redux提供两个关键模块...

前端攻城老湿
25分钟前
0
0
1、Mybatis连接池Context.xml配置

注意: (1)mybatis 3.2 之前 通过 set get 方法 获取相关属性。之后通过属性姓名获取相关关联。 (2)mybatis 映射 优先为 sql 语句中的别名与实体类的属性进行映射。 (3)jndi Java用于调...

KingFightingAn
41分钟前
0
0
Android 界面漩涡扭曲动效实现

背景:之前偶然看到优酷有类似的页面切换动画效果。于是自己也打算来实现下这样的效果。 动效说明:点击界面中的任意位置,界面以点击位置作为中心点,开始以漩涡状态,扭曲,收缩。直到消失...

Carlyle_Lee
51分钟前
2
0
聊聊我怎么系统学习Linux技能并快速提高的

聊聊我怎么系统学习Linux技能并快速提高的 随着电子信息科技时代的发展,学会使用计算机在我们的生活中成为了必不可少的一项技能。而作为计算机中的三大操作系统之一的Linux更是饱受计算机爱...

linuxCool
今天
4
0
Android/Java 获取一个byte[]的真实编码,用于解决乱码问题

来源地址:https://blog.csdn.net/qq_31384551/article/details/81627840 一个byte数组,byte[] buf,是由一个字符串转换来的,如何判断字符串使用的是什么编码? Mozilla的一个组件提供了相应...

她叫我小渝
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部