Struts2 自定义拦截器时Action无法接收到参数
问题:自定义拦截器,没有添加defaultStack导致Action无法接受到参数
解决办法:
方法一,添加defaultStack,然后在Action中引用 自定义的stack,其实defaultStack中也有细分如basicStack等
<interceptors> <interceptor name="checkUser" class="com.common.interceptor.UserInfoInterceptor"></interceptor> <interceptor-stack name="myStack"> <interceptor-ref name="checkUser"></interceptor-ref> <interceptor-ref name="defaultStack"></interceptor-ref> </interceptor-stack> </interceptors>
方法二,如果只是需要参数的话,可以直接引用defaultStack中 的params拦截器
<interceptors> <interceptor name="checkUser" class="com.common.interceptor.UserInfoInterceptor"></interceptor> <interceptor-stack name="myStack"> <interceptor-ref name="checkUser"></interceptor-ref> <interceptor-ref name="params"></interceptor-ref> </interceptor-stack> </interceptors>
方法三,如果你足够的蛋疼或者想挑战(虐待)一下自己可以自己写一个.