首页 > 代码库 > Struts2 自定义拦截器时Action无法接收到参数

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>

方法三,如果你足够的蛋疼或者想挑战(虐待)一下自己可以自己写一个.