WebWork之--action chain无法共享值栈内容错误排查

        今天犯了一个低级错误,action配置如下,经多方排查,最终发现是拦截器配置问题。一般默认设置为defaultStack,但是我的这个package中默认拦截栈是basicStack,但是basicStack中不包含chain interceptor,所以导致两个action不能共享值栈内容。

action配置如下:

  1. <action name="actionName" class="className">
  2.     <result name="success" type="chain">chainActionName</result>
  3. </action>

默认拦截器配置:

<default-interceptor-ref name="basicStack"/>  错误,该拦截栈中不包含chain interceptor

<default-interceptor-ref name="defaultStack"/>  正确,该拦截栈中包含chain interceptor

 

结合以前使用chain interceptor的经验,总结了action chain无法共享值栈的两个检查点

 

检查点一:变量getter/setter方法

        如果两个action不能正常共享值栈内容,很可能要共享的变量在前一个action中未实现getter方法或后一个action中未实现setter方法。『^_^,我理解的是这两种操作都会导致你的变量无需和值栈交互』

 

检查点二:拦截器配置

       action chain是依赖于 chain interceptor的,一是检查你的Action的拦截器配置,如果无具体配置,可检查默认配置。

        

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值