天天看点

Struts2拦截器介绍

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

Struts2拦截器介绍

为了在使用拦截器时制定参数值,应通过<interceptor-ref …/>元素添加<param …/>子元素来为拦截器指定参数值。下面是配置拦截器动态指定参数值的语法。

    用户要开发自己的拦截器,需要实现com.opensymphony.xwork2.interceptor.Interceptor接口。下面实现了一个简单的拦截器

    1、SimpleInterceptor.java

    2、struts.xml

    3、登录页面login.jsp

    4、LoginAction.java

    5、运行结果

Struts2拦截器介绍

    修改struts.xml如下

    运行结果如下:可以看到先配置的拦截器,先获得执行机会。

Struts2拦截器介绍

    如果不需要拦截特定的方法,假如不拦截execute方法,则在控制台上就不会输出任何信息。

    只需要修改提供方法过滤的拦截器

    MyFilterInterceptor.java

    struts.xml

        为了更精确的定义在execute方法执行前后的结构,以及执行后再处理Result执行的动作。这个监听器通过手动注册在拦截内部,必须实现PreReslutListener接口。  

    MyPreResultListener.java

    BeforeResultInterceptor.java

    运行结果

Struts2拦截器介绍

当神已无能为力,那便是魔渡众生