论坛首页 入门讨论版

诡异的Struts2 Interceptor造成ognl值丢失

浏览 306 次
该帖已经被评为新手帖
作者 正文
最后更新时间:2008-04-25 关键字: struts2 interceptor
今天给项目增加了一个访问数控制的Interceptor.继承的是AbstractInterceptor.
在struts.xml配置片段如下
<interceptor-stack name="visitStack">
      <interceptor-ref name="userVisitInterceptor"/>
      <interceptor-ref name="defaultStack"/>
</interceptor-stack>

但发现.我一些Action中的原本通过set get属性来替代取Parameter传递参数却变成空值了.各个Action都开始抛空指针异常了.检查原因就是原本Action中定义了像private String userId ...等等这些属性并定义了它们的set get方法.通过Struts2的OGNL自动给它赋值.这样就不用一个一个去用getParameter这样去取传递或者提交的表单参数值了.但发现加上拦截器之后.这些参数值都为空了.搜索了一下.没找到类似的.可能是关键字组织的不一样.不知道有谁遇到过这种情况.请指点一下.谢谢
   
最后更新时间:2008-05-15
就在刚才,我也遇到了这个问题。楼主找到解决方法了吗?能否分享一下?谢谢!
   
0 请登录后投票
最后更新时间:2008-05-15
是不是拦截器的顺序有关系?
   
0 请登录后投票
最后更新时间:2008-05-15
你的Action有没有validation方法
如果有,试试把<interceptor-stack name="visitStack">
<interceptor-ref name="userVisitInterceptor"/>
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
换为
<interceptor-stack name="visitStack">
<interceptor-ref name="userVisitInterceptor"/>
<interceptor-ref name="basicStack"/>
</interceptor-stack>
   
0 请登录后投票
论坛首页 入门讨论版

跳转论坛:
JavaEye推荐