您的位置:首页 > 编程语言 > Java开发

Struts 拦截器interceptor 的使用

2014-08-18 17:29 375 查看
Struts2框架的大部分功能都是通过拦截器来完成的。默认情况下所以的package都会继承默认的struts-default包,这样就可以使用Struts的大量默认拦截器。



1、自定义全局拦截器

在Struts.xml里增加 <interceptor name="拦截器别名" class="拦截器实现类" >

为其他包引用的方便可以把多个拦截器放在一起,组成拦截器栈:



<interceptor-stack name="拦截器栈别名">

<interceptor name="拦截器别名1" class="拦截器实现类" >

<interceptor name="拦截器别名2" class="拦截器实现类" >

</interceptor-stack>



2、在action中使用拦截器

<action name="" class="" extends="struts-default">

<interceptor-ref="拦截器栈别名">

</action>



3、配置默认的拦截器(每个包只能定义一个默认拦截器)

当配置一个包后,可以为其指定特定的拦截器。这样如果该包中的ACTION没有配置拦截器,那么默认的拦截器将起作用

<default-interceptor-ref name="拦截器栈别名">



4、实现拦截器需继承AbstractInterceptor类



5、在默认情况下,如何某个Action定义了拦截器,这个拦截器会拦截Action的所以方法,如果不想拦截所以方法,可以使用Struts2的方法过滤特性。

<action name="" class="" extends="struts-default">

<interceptor-ref="拦截器栈别名">

<param name="excludeMethods">拦截器别名1,拦截器别名2</param> < ————屏蔽的拦截

<param name="includeMethods">拦截器别名2</param> <————开启拦截

</action>

6、Struts2拦截器的执行顺序

并不是先配置的先拦截,在execute方法执行前的动作按顺序拦截,在execute方法执行之后的动作逆序执行,也就是说配置在后面的先执行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: