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

struts2拦截器(拦截指定方法)

2014-04-15 22:57 453 查看



拦截器方法过滤:让拦截器有选择的拦截Action中的某个方法!

 

Action中使用拦截器,默认情况下会拦截Action中所有的方法,但是在某些情况下,可能只需要拦截Action中的一个或多个方法,有时候也希望不拦截某个方法,这个在Struts2中是怎么实现的呢?

Struts2中提供了一个MethodFilterInterceptor的类,开发者自定义的拦截器只需要继承该类就可以使用这个方法过滤的功能,来拦截Action中特定的方法!

MethodFilterInterceptor类是AbstractInterceptor拦截器的子类,实现了Interceptor和Serializable接口

MethodFilerInterceptor实现方法过滤中用到的两个参数

execludeMethods:该参数指定拦截器拒绝拦截的方法列表,多个方法用“,”隔开,指定了这个参数,拦截器不会拦截指定列表中的方法

includeMethods:该参数指定拦截器需要拦截的方法列表,如果指定了参数,则指定的Action在执行前会被拦截

 

主要方法:

①protected abstract String doIntercept(ActionInvocation invocation) throws Exception;  必须重写此方法,实现拦截。

②String interceptor(ActionInvocation invocation):继承自AbstractInterceptor类,方法不需要强制重写

③void setExcludeMethods(String excludeMethods):设置拦截器黑名单,参数为Action一方法名。拦截器不拦截该方法

④void setIncludeMethods(String includeMethods):设置拦截器白名单,参数为Action一方法名。拦截器会拦截该方法

⑤Set getExcludeMethodsSet():获得拦截器的黑名单

⑥Set getIncludeMethodsSet():获得拦截器的白名单

 

示例配置文件





示例拦截器代码



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  interceptor