码迷,mamicode.com
首页 > 其他好文 > 详细

action之间的跳转

时间:2014-05-06 08:57:53      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:java   http   文件   com   cti   数据   

一、当type为chain 时,说明是action链,运行完第一个action java文件接着会运行第二个action JAVA 文件,相当于forward(客户端的url不会改变).  

   <result name="noPass" type="chain">
                <param name="actionName">system/User_customerResult</param>  
                <param name="namespace">/</param>
                <param name="method ">login</param>
       </result>

  actionName (默认) -- 被调用的action的名字

  namespace -- 被调用的action的名称空间. 如果名称空间为空,这默认为当前名称空间
  method -- 用于指定目标action的另一个方法被调用. 如果空,默认为excute方法 
  chain处理完后转发到一个action,请求参数全部丢失,action处理结果不会丢失。
  chain拦截器,处于chain链中的所有action共享一下值栈,每个action把值压入值栈,要用值时从值栈中取 

二、当type为redirect-action时,说明会跳转到第二个action的url (客户端的url会改变)
redirect-action处理完后重定向到一个action,请求参数全部丢失,action处理结果也全部丢失。 
重定向的调用者和被调用者使用各自的request  and  response对象,它们属于两个独立的访问请求和响应过程。
重定向需要两次请求能完成的工作,请求转发只要通过一次请求即可完成。这样一来我们也就明白了为什么请求不会造成数据丢失。 
ActionName (默认) - 重定位到的action名 
namespace - action的名称空间. 如果为null,则为当前名称空间

三、redirect
(1)可以重定向到一个页面,另一个action或一个网址。 Xml代码 
1. <result name="success" type="redirect">aaa.jsp</result>   

2. <result name="success" type="redirect">bbb.action</result>  

3. <result name="success" type="redirect">www.baidu.com</result>   

(2)实现方式:
查看doExecute方法,只有一个出口: response.sendRedirect(finalLocation);
sendRedirect是重定向,是重新产生一个HTTP请求到服务器,故重定向后其原来所在的action上下文就不可用了。

action之间的跳转,布布扣,bubuko.com

action之间的跳转

标签:java   http   文件   com   cti   数据   

原文地址:http://www.cnblogs.com/zyb2014/p/3704231.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!