Struts拦截器和Action的关系如图:

为了在使用拦截器时制定参数值,应通过<interceptor-ref …/>元素添加<param …/>子元素来为拦截器指定参数值。下面是配置拦截器动态指定参数值的语法。
用户要开发自己的拦截器,需要实现com.opensymphony.xwork2.interceptor.Interceptor接口。下面实现了一个简单的拦截器
1、SimpleInterceptor.java
2、struts.xml
3、登录页面login.jsp
4、LoginAction.java
5、运行结果
修改struts.xml如下
运行结果如下:可以看到先配置的拦截器,先获得执行机会。
如果不需要拦截特定的方法,假如不拦截execute方法,则在控制台上就不会输出任何信息。
只需要修改提供方法过滤的拦截器
MyFilterInterceptor.java
struts.xml
为了更精确的定义在execute方法执行前后的结构,以及执行后再处理Result执行的动作。这个监听器通过手动注册在拦截内部,必须实现PreReslutListener接口。
MyPreResultListener.java
BeforeResultInterceptor.java
运行结果
当神已无能为力,那便是魔渡众生