struts2 配置文件中自定义拦截器必须 defaultStack
我看一个系统的struts.xml文件中的拦截器配置是这么写的
<package name="default" extends="struts-default"> <interceptors> <interceptor name="bean-scope" class="com.googlecode.scopeplugin.ScopeInterceptor"/> <interceptor-stack name="appdefault"> <interceptor-ref name="bean-scope"/> <!-- 定义拦截器栈包含default-stack拦截器栈 --> <interceptor-ref name="basicStack"/> <interceptor-ref name="encoding"/> <interceptor-ref name="opinion"/> </interceptor-stack> </interceptors> <!-- 定义struts2默认拦截器 --> <default-interceptor-ref name="appdefault"/></package>
<package name="base" extends="struts-default"> <!--定义自己的拦截器 --> <interceptors> <interceptor name="authority" class="fi.authority.access.interceptor.AuthorityInterceptor"/> <!-- 定义默认拦截器 --> <interceptor-stack name="mydefault"> <interceptor-ref name="defaultStack" /> <interceptor-ref name="authority" /> </interceptor-stack> </interceptors> <!-- 使用默认拦截器 --> <default-interceptor-ref name="mydefault" /> <global-results> <result name="login">/login.jsp</result> <result name="noauthority">/noauthority.jsp</result> </global-results> </package>