问题描述:
在没加入Interceptor的时候,Action可以用getter/setter的方式正常的从界面获得值,但是加入了Interceptor之后,就无法获得值了。
问题分析:
在网上看了下评论,得到了解决的方法:建立一个拦截栈
里面那个privilegeCheck是我用来做权限检查的,原来的时候我只加了这个拦截器到Action上,后来发现了每次回传的值都是空的,怪了!后来加入了defaultStack这个拦截器栈后就可以了传入参数了,果然如此!
为何呢?
defaultStack里面包含了一个params的拦截器,这个是用来拦截参数用的,具体没看过代码,不过按照我的估计是就是,struts在没有设置拦截器的时候是默认的使用defaultStack这个拦截器的,里面包含了拦截参数的拦截器,但是自定义拦截器后就无法让defaultStack生效了,需要手动的处理一下