Struts中的chain和redirectAction

2023-12-16 22:38
文章标签 struts chain redirectaction

本文主要是介绍Struts中的chain和redirectAction,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

chain和redirectAction的区别

chain 它是一个琏式的,是从一个Action转发另外一个Aciton,写action的名字即可,并把前一个Action的请求参数和值传给下一个Action

chain的使用场景:我需要连续执行好几个action,好几个action共用数据,保留下来,比如现在网站的注册,先在一个页面月度一些条款,在下一步填写部分的数据,下一步在填写一些数据,最后又填写数据,最后一步提交,万一提交失败,前面填写的数据可以保存住。分了三个页面,每一个页面的数据来自同一个action,这就好做了,如果每一页来自一个不同的action,怎么做?想保存数据?怎么做保存,用chain,好几个action的数据保存住 该种方式底层使用的转发原理。

因此在请求之后的值栈将包括初始请求的action对象和其模型驱动和转发后的action对象和其模型驱动。如此,这样的一次请求无论请求了多少个action,都会将请求过程的数据保存在值栈中,这样方便了数据的回显。例如注册流程中的每一步都请求不同action不同方法时可使用此种请求方式将用户填写过的数据保存下来,以便回显,增强用户体验。

看一下底层到底干嘛了?

 

 

 

redirectAction 底层使用的是重定向原理,重定向到一个指定的action的name。因为是重定向所以会发生两次请求,所以在第二次请求时,第一次请求创建的值栈以及值栈中的action对象、模型驱动对象都会消失(值栈的声明周期是一次请求期间)。在第二次请求时有会有新的值栈,这个值栈的对象栈中只有一个当前访问的action对象或模型驱动的model对象。这种重定向的方式请求的action一般作为页面的跳转使用,不会涉及到数据的处理。

 

 

 

 

 

 

 

这篇关于Struts中的chain和redirectAction的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/502136

相关文章

在struts.xml中,如何配置请求转发和请求重定向!

<span style="font-size:18px;"><span style="white-space:pre"> </span><!--<strong>下面用请求转发action </strong>,<strong>这样过去id不会丢</strong>,如果用重定向的话,id会丢 --><result name="updatePopedom"<span style="color:#ff00

修改struts中:fielderror.ftl 模板

在项目登录页面: 当验证码输入有误时,应该提示:验证码输入有误,请重新输入 ,但是页面出现乱了! 错误原因: 在产生错误信息时,页面中增加了<ul> <li><span></span></li></ul>标签,该如何修改改, 解决方法(一): 在项目的src下,新建文件夹:template.simple,在文件夹里面放修改好的fielderror.ftl文件。 fi

Struts 2的工作流程

基本简要流程如下:1、客户端浏览器发出HTTP请求。2、根据web.xml配置,该请求被 FilterDispatcher接收。3、根据struts.xml配置,找到需要调用的Action类和方法, 并通过IoC方式,将值注入给Aciton。4、Action调用业务逻辑组件处理业务逻辑,这一步包含表单验证。5、Action执行完毕,根据 struts.xml中的配置找到对应的返回结果result

webservice系列3---chain

本节摘要:本节主要介绍webservice的高级特性chain的开发和配置 1.引言       之前在上webservice系列2---javabean&handler中讲了handler的使用,当有多个handler的时候,难道我们要一个一个的在wsdd文件中配置,然后一个一个的引入到需要的webservice中码?of course ,no。Apache组织已经替我们考虑到了这种需求,ch

设计模式 -- 职责链模式(Chain of Responsibility Pattern)

1 问题引出 1.1 学校 OA 系统的采购审批项目 如果金额 小于等于 5000, 由教学主任审批 (0<=x<=5000)如果金额 小于等于 10000, 由院长审批 (5000<x<=10000)如果金额 小于等于 30000, 由副校长审批 (10000<x<=30000)如果金额 超过 30000 以上,有校长审批 ( 30000<x) 1.2 传统方式 传统方式是

Flink 原理与实现:Operator Chain原理

硬刚大数据系列文章链接: 2021年从零到大数据专家的学习指南(全面升级版) 2021年从零到大数据专家面试篇之Hadoop/HDFS/Yarn篇 2021年从零到大数据专家面试篇之SparkSQL篇 2021年从零到大数据专家面试篇之消息队列篇 2021年从零到大数据专家面试篇之Spark篇 2021年从零到大数据专家面试篇之Hbase篇

Flink: 两个递归彻底搞懂operator chain

《2021年最新版大数据面试题全面开启更新》 operator chain是指将满足一定条件的operator 链在一起,放在同一个task里面执行,是Flink任务优化的一种方式,在同一个task里面的operator的数据传输变成函数调用关系,这种方式减少数据传输过程。常见的chain例如:source->map->filter,这样的任务链可以chain在一起,那么其内部是如何决定

struts2 struts.xml常用常量配置

<constant name="struts.i18n.encoding" value="UTF-8" /> 指定Web应用的默认编码集,相当于调用HttpServletRequest的setCharacterEncoding方法 <constant name="struts.ui.theme" value="simple" /> 设置页面struts标签的样式     <consta

struts2 result type= redirect redirectAction chain dispatcher等类型

struts.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"     "http://struts.apache.org/dtds/struts-2.0.

struts 页面取值问题

Struts2中的OGNL表达式语言是对Xwork的OGNL的封装。我们要理解一下几点:  1 . Struts2 中将 ActionContext 作为 OGNL 的上下文环境( ActionContext 内部含有一个 Map 对象)   2 . Struts2 中的 OGNL 表达式语言的根对象是一个 ValueStack , ValueStack 中的每一