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一般作为页面的跳转使用,不会涉及到数据的处理。

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值