查阅资料后发现,Struts2有一个默认的拦截器栈,默认会启用,但使用其他拦截器后会将其覆盖,即启用token拦截器时将默认拦截器栈覆盖了,导致后面属性或javaBean驱动或模型驱动失效,所以配置token拦截器引用时还应该配置默认拦截器栈引用。
<package name="base" extends="struts-default" namespace="/">
<action name="demo" class="cn.scau.cx.action.Demo1Action">
<!-- token拦截器 -->
<interceptor-ref name="token"/>
<!--默认拦截器栈-->
<interceptor-ref name="defaultStack" />
<result>/succ.jsp</result>
<result name="invalid.token">/input.jsp</result>
</action>
</package>