一。Chain Result:
这个result调用另外的一个action,连接自己的拦截器栈和result。

  • actionName (默认) - 被调用的action的名字
  • namespace - 被调用的action的名称空间. 如果名称空间为空,这默认为当前名称空间
  • method - 用于指定目标action的另一个方法被调用. 如果空,默认为excute方法

Redirect Action Result:
这个Result使用ActionMapperFactory提供的ActionMapper来重定位浏览器的URL来调用指定的action和(可选的)namespace. 这个Result比ServletRedirectResult要好.因为你不需要把URL编码成xwork.xml中配置的ActionMapper提供的模式. 这就是说你可以在任意点上改变URL模式而不会影响你的应用程序. 因此强烈推荐使用这个Result而不是标准的redirect result来解决重定位到某个action的情况.

  • ActionName (默认) - 重定位到的action名
  • namespace - action的名称空间. 如果为null,则为当前名称空间

Redirect Result

调用{@link HttpServletResponse#sendRedirect(String) sendRedirect}方法来转到指定的位置. HTTP响应被告知使浏览器直接跳转到指定的位置(产生客户端的一个新请求). 这样做的结果会使刚刚执行的action(包括action实例,action中的错误消息等)丢失, 不再可用. 这是因为action是建立在单线程模型基础上的. 传递数据的唯一方式就是通过Session或者可以为Ognl表达式的web参数(url?name=value)

  • location (默认) - action执行后跳转的地址.
  • parse - 默认为true. 如果设置为false, location参数不会被当作Ognl表达式解析.

二。当使用type=“redirectAction” 或type=“redirect”提交到一个action并且需要传递一个参数时。这里是有区别的: 
a.使用type=“redirectAction”时,结果就只能写Action的配置名,不能带有后缀:“.action” 
Java代码

<action name="Login" class="steven.actions.LoginAction">
<result name="success" type="redirectAction">User?u_id=${loginBean.u_id}</result>
</action>

b.使用type=“redirect”时,结果应是action配置名+后缀名 
Java代码

<action name="Login" class="steven.actions.LoginAction"> 
<result name="success" type="redirect">User.action?u_id=${loginBean.u_id}</result>

接口转发和重定向区别(四)相关推荐

  1. 接口转发和重定向区别(二)

    转发与重定向的区别如下: 转发是服务器行为,重定向是客户端行为 1.转发在服务器端完成的;重定向是在客户端完成的 2.转发的速度快;重定向速度慢 3.转发的是同一次请求;重定向是两次不同请求 4.转发 ...

  2. 接口转发和重定向区别(一)

    1 forword是RequestDispatcher 接口(请求转发) ,而 redirect是HttpServletResponse 接口(请求重定向) 2.response.sendRedire ...

  3. 接口转发和重定向区别(三)

    我们就一起来简单学习一下Action的4种Result type类型,分为:dispatcher(服务端页面跳转):redirect(客户端页面跳转):chain(动作链跳转):redirectAct ...

  4. 创建线程的几种方式?JSP的九大内置对象及作用分别是什么?servlet的生命周期及常用方法?转发和重定向区别?ajax书写方式及内部主要参数都有哪些

    文章目录 1 , 创建线程的几种方式? 问题扩展: 2 ,JSP的九大内置对象及作用分别是什么? (1) 问题分析: (2) 核心答案讲解: 1.request对象 2.response对象 3.se ...

  5. ServletRequest HttpServletRequest 请求方法 获取请求参数 请求转发 请求包含 请求转发与重定向区别 获取请求头字段...

    原文地址:ServletRequest HttpServletRequest 请求方法 获取请求参数 请求转发 请求包含 请求转发与重定向区别 获取请求头字段 ServletRequest 基本概念 ...

  6. 请求转发和重定向区别

    一.转发和重定向区别详解 作为一名程序员,特别是java web开发的程序员,在使用servlet/jsp的时候,我们必须要知道实现页面跳转的两种方式的区别和联系:即转发和重定向的区别. Reques ...

  7. 请求转发与重定向的区别和执行流程

    请求转发与重定向的区别和执行流程 文章目录 请求转发与重定向的区别和执行流程 1 请求转发与重定向区别 2 现实生活的例子 2.1 重定向 2.2 请求转发 3 重定向-流程图.代码.结果 3.1 流 ...

  8. JavaWeb之【转发与重定向】

    在一个web应用中应该如何完成资源的跳转 第一种方式:转发 代码 // 获取请求转发器对象,并调用请求转发器对象的方法forward完成转发 request.getRequestDispatcher( ...

  9. Servlet相关(request域转发、重定向、刷新头)(session域)

    >请求域的转发(request.getRequestDispatcher(/转发路径).forward(req,resp)) 转给静态的资源: 转给动态的servlet: >请求域设置属性 ...

最新文章

  1. 长方形纸做容积最大的长方体_儿童手工折纸,童年玩具纸扇子怎么折?一起来回忆下经典折法吧...
  2. 【译】A Note On Charity Through Marginal Price Discrimination
  3. JSON.parse与eval的区别
  4. Properties作为Map集合的特有方法
  5. 方法引用_通过对象名引用成员方法
  6. @change=“change()“与@change=“change“的区别
  7. AQS源码阅读笔记(一)
  8. linux添加中文字库主线任务,Linux 添加中文字体库
  9. Oracle mysql 语句_Oracle 数据库常用操作语句大全
  10. 线程的五大状态及转换
  11. 752. [BJOI2006] 狼抓兔子
  12. 多研究些架构,少谈些框架(1) -- 论微服务架构的核心概念(转)
  13. Linux命令学习手册-iconv命令
  14. syntaxerror:_解决SyntaxError:解析时出现意外的EOF
  15. 理工生文言文的致谢——小木虫
  16. 微信CRM管理系统功能分析
  17. Python3.8.5安装教程
  18. Linux下useradd命令与adduser命令的区别(adduser更适合初级使用者,useradd比较适合有些高阶经验的使用者)
  19. ps 证件照(1,2寸)
  20. 人民币首度超过美元!

热门文章

  1. 简单好听的id_一位妈妈给孩子的10大家规,简单实用,值得所有父母借鉴!
  2. c语言的多文件组织,c++中多文件的组织
  3. #pragma指令与#ifndef指令
  4. Java反射机制深入详解
  5. iPhoneX-关于底部的那个一个横条的问题
  6. x-manager 管理 kvm虚拟机
  7. 管理数据,应用程序和主机安全-B
  8. bzoj4385 POJ2015 Wilcze doły
  9. IPython、Notebook、qtconsole使用教程
  10. 【转】Android菜单详解——理解android中的Menu--不错