`

(转)struts2中redirect,redirectAction和chain的区别 以及 如何在action之间传参数

阅读更多

帖子来源:http://tonmly.blog.163.com/blog/static/17471285620115891359147/

struts2中关于result的返回类型一般我们是转发到一个jsp页面或者是html页面等,但是struts2中的result的返回类型还有redirect,redirectAction,chain。对于这三种返回类型之间肯定是有区别的,下面我们来看看关于redirect redirectAction chain这三种struts2的返回类型之间的区别。

 

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

 

 

 

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

 

 

 

 

 

 

 

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

 

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

 

 

 

 

 

 

 

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

 

 

 

 

 

1 redirect:action处理完后重定向到一个视图资源(如:jsp页面),请求参数全部丢失,action处理结果也全部丢失。
2 redirect-action:action处理完后重定向到一个action,请求参数全部丢失,action处理结果也全部丢失。
3 chain:action处理完后转发到一个action,请求参数全部丢失,action处理结果不会丢失。

 

--------------------------------------------------------------------------------------------------------------------------------------------------------------

 

今天在用struts2在做项目时候,从一个action我想跳转到另一个action,并且呢得带上值。说说我的做法吧,首先你得在你的第一个action中这个id必须要有set、get方法。
跳转时你的struts.xml:
(方法一):
<result name="topic" type="redirect">/topicAction!findTopics.do?topicId=${topicId}</result>
(方法二):
<result name="topic" type="redirectaction">
  <param name="actionName">findTopics</param>
  <param name="topicId">${topicId}</param>
</result>

 

如果是多个参数的话,继续再加几个<param>就行了,对于(方法一)如果是多个参数的怎么办?
<result name="topic" type="redirect">/topicAction!findTopics.do?topicId=${topicId}&amp;elementId=${elementId}</result>
这不就行了。

 

---------------------------------------------------------------------------------------------------------------------------------------------------

 

<action name="enterpreinfo" method="enterPreinfoSub">
  <result name="success" type="redirect-action">
     showpreinfo?preinfo.order_number=${preinfo.order_number}&amp;preinfo.company_name=${preinfo.company_name}
  </result>
 <result name="error" type="redirect">
 <param name="location">/error.jsp</param>
 </result>
</action>

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yzhjisji/archive/2009/06/18/4279025.aspx

分享到:
评论

相关推荐

    struts 2 笔记 struts2 基础

    4. **结果(Result)**:Action执行后返回的结果,常见的Result类型有`dispatcher`(默认,用于转发到JSP页面)、`redirect`(重定向)、`chain`(链式调用下一个Action)和`redirectAction`(重定向到另一个Action...

    struts2的action的几种result type说明

    在Struts2中,Action是业务逻辑的核心组件,而Result是控制流程的关键部分,它定义了Action执行后如何展示结果。Result Type是Result的一种预定义类型,决定了结果如何被处理和展现给用户。在`struts-default.xml`...

    牧紫小岩的Struts2学习笔记

    Struts2支持多种结果类型,包括`dispatcher`、`redirect`、`chain`和`redirectAction`,每种类型都有其特定用途,如重定向、转发或链式调用等。全局结果集`global-result`则允许开发者为框架设置默认的结果映射,...

    Struts2学习资源Result part1.rar

    在Struts2中,Result主要负责将处理后的数据传递给相应的视图,如JSP、HTML或者其他的静态资源。Result类型是通过配置在Action类的execute方法返回值或者struts.xml配置文件中定义的。默认情况下,如果未明确指定...

    struts2中的url

    本文将详细介绍Struts2框架中有关URL配置的相关知识点,包括请求转发、内部action处理以及请求重定向等核心概念,并深入探讨Struts2中 `&lt;s:url&gt;` 标签的应用。 #### 请求转发至JSP页面 在Struts2中,默认情况下,...

    Struts2入门教程(全新完整版)

    1.概述strust2中的拦截器 28 2.自定义拦截器 28 方式一,实现Interceptor接口。 28 方式二、继承AbstractInterceptor抽象类 29 方式三、继承MethodFilterInteceptor类 30 3.使用来MethodFilterInterceptor灵活拦截 ...

    Struts2_result返回类型

    在Struts2中,Action是业务逻辑的核心,而Result则是Action执行后的响应方式。`Struts2_result返回类型`指的是在Action执行成功或失败后,如何将控制权传递到下一个页面或资源。这些返回类型定义了不同的结果处理...

    struts2基本知识点

    2. OGNL在Struts2中主要用于数据绑定,可以从值栈中获取和设置值。 3. 值栈(Value Stack)是一个对象集合,作为OGNL的根,包含了application、session、value stack(root)、action(当前Action)、request、...

    Struts2技术总结

    Struts2以其丰富的功能和高度的灵活性,在Java Web开发领域占据了重要的地位。通过本文的介绍,我们可以了解到Struts2的基本概念、核心特点以及如何搭建一个基本的Struts2项目。对于想要深入学习Struts2的开发者来说...

    Struts2--result配置的各种视图转发类型

    在Struts2中,结果(Result)是Action执行后控制流程的重要部分,它负责将处理后的数据或者控制逻辑转向合适的视图。这篇博文将深入探讨Struts2中的result配置以及各种视图转发类型。 首先,让我们理解Result的基本...

    Struts2 Result类型

    在实际应用中,开发者可以根据需求选择合适的Result类型,通过在`struts.xml`配置文件中定义result元素,指定name(通常为Action的返回码)和type(对应Result类型),以及对应的资源路径,来实现Action执行后的页面...

    Struts2学习资料

    8. **Result类型**:`result`的`type`属性定义了结果的处理方式,如`dispatcher`用于直接渲染JSP,`redirectAction`用于重定向到另一个Action,`redirect`用于重定向到URL,`chain`用于连续执行Action等。...

    Struts2_note

    - Result类型包括Dispatcher(转发)、Chain(连续调用下一个Action)、Redirect(重定向)、RedirectAction(重定向到另一个Action)和FreeMarker(使用FreeMarker模板引擎渲染结果)等,它们决定了Action执行后...

    Struts2 result和type

    ### Struts2中的Result与Type详解 #### 一、引言 在Struts2框架中,`Result`和`Type`是两个非常重要的概念。它们主要用于控制Action执行完毕后页面的跳转方式以及如何处理Action返回的结果。通过合理配置`Result`与...

    struts2 API

    - OGNL是Struts2中的默认表达式语言,用于在视图层和模型层之间传递数据。例如, `${user.name}` 可以用来获取 `User` 对象的 `name` 属性。 6. **模型驱动(ModelDriven)**: - 模型驱动模式允许开发者将一个...

    关于struts的部分小结

    `type`定义了结果的类型,例如`chain`用于请求转发,`dispatcher`用于转发到JSP页面,`redirect`表示重定向,`redirectAction`则是重定向到另一个Action,而`stream`类型则用于文件下载,通过流的方式处理数据。...

Global site tag (gtag.js) - Google Analytics