2.6 configInterceptor(..)

1、 配置全局拦截器;

configInterceptor 方法用来配置全局拦截器,全局拦截器分为两类:控制层、业务层,以下是配置示例:

public void configInterceptor(Interceptors me) {
    // 以下两行代码配置作用于控制层的全局拦截器
    me.add(new AuthInterceptor());
    me.addGlobalActionInterceptor(new AaaInterceptor());
    
    // 以下一行代码配置业务层全局拦截器
    me.addGlobalServiceInterceptor(new BbbInterceptor());
}

以上me.add(...) 与 me.addGlobalActionInterceptor(...) 两个方法是完全等价的,都是配置拦截所有 Controller 中 action 方法的拦截器。而 me.addGlobalServiceInterceptor(...) 配置的拦截器将拦截业务层所有 public 方法。

注意:以上描述中所谓的 "业务层" 本质上是指除了 "控制层" 以外的含义,不一定要求是业务层,也可以是一个除了 controller 以外的任何一个类。

以上方式配置的拦截器可以在方法定义之处通过 @Clear 注解进行移除,具体用法见后续有关 @Clear 注解的章节。

2、拦截器配置层次/粒度

Interceptor 配置粒度分为 Global、Routes、Class、Method 四个层次,其中以上小节配置粒度为全局。Routes、Class 与 Method 级的配置将在后续章节中详细介绍。

版权声明:「DDKK.COM 弟弟快看,程序员编程资料站」本站文章,版权归原作者所有

JFinal 官方 | https://jfinal.com