struts2拦截器(interceptor) 笔记

来源:互联网 发布:阶下囚 困倚危楼知乎 编辑:程序博客网 时间:2024/06/07 10:17

创建一个Interceptor 可以自定义一个类实现com.opensymphony.xwork2.interceptor.Interceptor

在这个接口中有三个方法 init destory intercept, intercept方法是真正拦截的方法。
在intercept方法中如果要向下继续执行,通过其参数ActionInvocation调用它的invoke()方法就可以。

声明一个Interceptor

在struts-default.xml文件中

<interceptors>    <interceptor name="" class=""/></interceptors>

注意:我们要自己声明一个interceptor可以在struts.xml文件中声明。

在action中指定使用哪些拦截器.

<interceptor-ref name="my"/>

注意:只要显示声明使用了一个拦截器。那么默认的拦截器就不在加载。

怎样解决只控制action中某些方法的拦截?

1.创建类不在实现Interceptor接口,而是继承其下的一个子类.MethodFilterInterceptor  不用在重写intercept方法,而是重写 doIntercept方法。          2.在struts.xml文件中声明
<interceptors>    <intercept name="" class="">        <param name="includeMethods">add,update,delete</param>        <param name="excludeMethods">search</param>    </intercept></interceptors>
0 0