拦截器其实就是AOP的编程思想。拦截器允许在Action处理之前或者Action处理之后,插入自己的代码,来完成特定的功能。
我们可以在struts.xml文件中使用<interceptors>元素来配置拦截器或者拦截器栈信息。
如下片段:
<!-- 下面定义拦截器部分 --> <interceptors> <!--定义验证权限的拦截器 --> <interceptor name="authority"class="org.struts2.samples1.AuthorityInterceptor"></interceptor> <!-- 下面定义拦截器栈 --> <interceptor-stack name="simpleStack"> <interceptor-ref name="params"></interceptor-ref> <interceptor-ref name="defaultStack"></interceptor-ref> </interceptor-stack> </interceptors> |
下面是在Action中引用拦截器片段:
<action name="login" class="org.struts2.samples.LoginAction"> <interceptor-ref name="authority"></interceptor-ref> <result>/main.jsp</result> </action> |
引用拦截器栈的方式与引用拦截器相同。