`
moshowgame
  • 浏览: 42959 次
  • 性别: Icon_minigender_1
  • 来自: 潮州
社区版块
存档分类
最新评论

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

阅读更多
struts2 跳转类型result type=chain/dispatcher/redirect

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

<result name="success">/index.jsp</result>
<result name="input">/login.jsp</result>
以上写法使用了两个默认,其完整的写法为:
<result name="success" type="dispatcher">
<param name="location">/index.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>

0
1
分享到:
评论

相关推荐

    struts2中的result的type类型

    struts2 跳转类型 result type chain dispatcher redirect redirect action

    Struts2 Result类型

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

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

    这篇博文将深入探讨Struts2中的result配置以及各种视图转发类型。 首先,让我们理解Result的基本概念。在Struts2的配置文件(如struts.xml)中,每个Action可以有多个结果,每个结果对应一个特定的视图。Result配置...

    struts2 result配置详解

    Dispatcher Result 配置是 Struts2 框架中默认的 Result 配置类型。这种配置类型用于将结果.redirect 到一个 JSP 页面。如果在 Action 配置中没有指定其他的 Result 配置类型,那么 Dispatcher Result 配置将被使用...

    Struts2学习资源Result part1.rar

    默认情况下,如果未明确指定Result类型,那么Struts2会默认使用"dispatcher",它将请求分发到一个JSP页面。然而,Struts2提供了多种Result类型,以满足不同场景的需求。 1. **dispatcher**: 这是最常见的Result类型...

    struts2的action的几种result type说明

    默认情况下,如果未指定Result Type,Struts2会使用dispatcher。 2. **chain**: Chain Result Type允许你链式执行多个Action,无需返回到客户端。`class="com.opensymphony.xwork2.ActionChainResult"`。这样可以在...

    struts2结果类型

    总结而言,`dispatcher`、`redirect` 和 `chain` 是 Struts2 中三种重要的结果类型,它们分别用于页面转发、HTTP 重定向以及 Action 之间的链式调用。了解这些结果类型的使用方法和实现原理对于使用 Struts2 进行 ...

    Struts2 result和type

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

    SSH笔记-result标签的type的使用

    本笔记将深入探讨`Result`标签的`type`属性以及其不同类型的用法,包括`dispatcher`、`chain`、`redirect`、`redirectAction`和`stream`。 首先,`dispatcher`是最常用的`Result`类型,它将请求转发到指定的页面。...

    Struts2_result返回类型

    `Struts2_result返回类型`指的是在Action执行成功或失败后,如何将控制权传递到下一个页面或资源。这些返回类型定义了不同的结果处理策略,使得开发者可以根据需求选择合适的方式。 首先,我们来看几个常见的返回...

    信息系统软件设计:要懂Struts必须要懂的程序(2).ppt

    Struts提供了多种Result类型,如dispatcher用于转向页面,redirect用于重定向,chain处理Action链等。 4. **动态Result配置**: 动态Result允许根据Action执行情况决定调用哪个结果。例如,`&lt;result name="success...

    Struts2技术总结

    6. **灵活的结果类型:** Struts2支持多种结果类型,包括dispatcher(转发)、redirect(重定向)、chain(链式调用)等,使得页面跳转更加灵活多样。 #### 二、Struts2项目搭建与配置 要构建一个基于Struts2的Web...

    Struts 2.0结果集类型

    自定义结果类型需要实现`org.apache.struts2.dispatcher.Result`接口,并在配置文件中声明。 总的来说,Struts 2.0的结果集类型是实现MVC模式中的“V”(视图)部分的关键工具,它通过灵活的结果配置,使开发者能够...

    Struts2 Result 参数详解

    在`struts-default.xml`配置文件中,Struts2预先定义了这些Result类型,并指定了默认的Result类型为`dispatcher`。配置Result时,可以通过`&lt;param&gt;`标签设置额外的参数,比如指定JSP页面的路径、重定向的URL等。 ...

    Struts2的配置文件方法小结

    下面我们将深入探讨Struts2配置文件中的关键元素,特别是`result`节点,以及各种结果类型和通配符映射。 首先,Struts2的核心功能包括使用POJO作为Action,Action的execute方法与Servlet API解耦,支持多种视图技术...

    strut2学习笔记

    - `dispatcher`:默认类型,服务器端JSP跳转。 - `redirect`:客户端JSP跳转。 - `chain`:服务器端Action跳转,继续执行下一个Action。 - `redirectAction`:客户端Action跳转,发起新的HTTP请求。 全局Result可以...

    研磨struts2

    - **类型**:Struts2 提供了多种内置的 Result 类型,如 `dispatcher`(转发)、`redirect`(重定向)、`chain`(执行另一个 Action)等。 - **配置**:Result 需要在 Action 的配置中指定,通常写在 `&lt;action&gt;` ...

Global site tag (gtag.js) - Google Analytics