struts2跳转类型解析
2015-10-14 08:47
543 查看
struts 2 跳转类型
1.dispatcher dispatcher 为默认跳转类型。用于返回一个视图资源
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"解决)。
2.redirect
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)以及返回的页面位置一起又一次发给webserver,容纳后由webserver产生一个新的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>
3.chain
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
4.plaintext
plaintext 结果类型用于直接在页面上显示源码
Xml代码:
<result name="err" type="plaintext">
<param name="location">详细的位置</param>
<param name="charSet">字符规范(如GBK)</param>
</result>
原文地址:http://hi.baidu.com/foreverfly8/item/4bfae9cc04abb80c0bd93a79
相关文章推荐
- Java 读取properties配置文件
- 设置eclipse的debug提醒
- eclipse快捷键失效
- 开源 java CMS - FreeCMS2.4 菜单管理
- java通过JDBC链接SQLServer2012 (亲测有效),并且进行简单的查增删改
- Git使用教程3:MyEclipse+Egit+GitHub实现代码托管 【下】
- 四则运算 java
- Java泛型
- ubuntu安装配置JDK(亲测)
- JDK 源码解析 —— ConcurrentHashMap
- Java基于Scanner对象的简单输入计算功能示例
- Java反射实战中文翻译
- 用sublime搭建java编译环境(非IDE),支持中文,支持输入
- 蜂窝Java培训助年轻人成IT高薪人才
- javaweb之动态读excel,导入excel,poi,jxl 支持判断2003.2007及以上
- java各种容器内部实现原理
- springmvc定时器功能简单使用
- java中this关键字
- java发送短信至手机
- 服务端工程师入门与进阶 Java 版