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

Struts2初识(三) ---> interceptors

2009-05-18 13:02 288 查看
Interceptors 提供了对Action进行预处理和事后处理的功能. 和 Servlet 过滤器一样, 拦截器可以被分层和排序.

它还可以访问所执行的Action和所有的环境变量与执行属性。

如果要在Action中激活依赖注入功能(或其他任何由拦截器提供的功能),就必须要对Action进行配置。和其他元素一样,许多拦截器都已经提供了默认的配置项。你只需要确认一下Action所在的Package继承了“struts-default”package。

在配置一个新的拦截器之前,首先要对它进行定义。<interceptors … />和<interceptor … />标签都要直接放到<package>标签里面。像我们上面提到的那些拦截器,它们的配置项就是这样的:
<interceptors>

<interceptor name="autowiring"
class="…xwork2.spring.interceptor.ActionAutowiringInterceptor"/>
</interceptors>
我们同时还要确保Action中应用了所需的拦截器。这可以通过两种方式来实现。第一种是把拦截器独立的分配给每一个Action:
<action name="my" class="com.fdar.infoq.MyAction" >
<result>view.jsp</result>
<interceptor-ref name="autowiring"/>
</action>
在这种情况下,Action所应用的拦截器是没有数量限制的。但是拦截器的配置顺序必须要和执行的顺序一样。
第二种方式是在当前的Package下面配置一个默认的拦截器:
<default-interceptor-ref name="autowiring"/>
这个声明也是直接放在<package … /> 标签里面,但是只能有一个拦截器被配置为默认值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: