<!-- 系统级包 --> <package name="systemPackage" extends="struts-default,json-default" abstract="true"> <interceptors> <interceptor name="status" class="com.util.statusInterceptor" /> <interceptor-stack name="systemStack"> <interceptor-ref name="status"> <param name="loginResult">redirectLogin</param> <param name="excludeActions"> image,login </param> </interceptor-ref> <interceptor-ref name="paramsPrepareParamsStack"></interceptor-ref> </interceptor-stack> </interceptors> <default-interceptor-ref name="systemStack" /> <global-results> <result name="login">/login.jsp</result> <result name="redirectLogin" type="redirect">/login.jsp </result> </global-results> </package>
以下是问题:
1--这个包被所有的包继承, 那么这里面的interceptor 和interceptor-stack 都会执行吗? 还是说只执行default-interceptor-ref ?????
2--其次,<interceptor-ref name="paramsPrepareParamsStack"></interceptor-ref>有什么作用?
3--拦截器和拦截器栈有什么区别? 为什么配置了一个interceptor 又配置个interceptor-stack ??? 不是多此一举吗?