标签:
拦截器运行我们在执行前后插入代码执行。Struts2中的拦截器是一个强有力的工具,他可以为action动态添加输入验证(验证用户的输入是否正确)、
对象组装(将用户输入的数据转换为对象的属性)、权限控制(确保访问中是登录用户)、日志记录(记录action的执行情况)等功能,而不需要修改action。
要为action配置引用的拦截器,首先乣在interceptors元素中使用interceptor元素定义拦截器,然后在action元素中使用interceptor-ref元素指定引用的拦截器。interceptor元素有两个必要的属性:name和class,前者指定拦截器的名字,后者指定拦截器的完整类名。
假如我们要为ResourceAction配置两个拦截器logger和security,如下所示
拦截器按照action引用拦截器的顺序执行。
如果一个action需要多个拦截器,一 一引用它们也是一件烦恼的事。我们可以将多个拦截器组合在一起,组成一个拦截器栈,
然后在action中直接引用拦截器栈即可
修改上面的例子,将logger和security拦截器放到拦截器栈中,示例如下:
要注意的是,如果你在一个action钟定义了其他的拦截器引用,那么这个action将不再使用默认的拦截器引用,如下:
如果action想要在默认拦截器引用的基础上添加新的拦截器,那么只能在action中重新配置默认拦截器的引用中的拦截器,那么上面的例子修改如下:
标签:
原文地址:http://www.cnblogs.com/john69-/p/5834305.html