请教 Interceptor 执行顺序问题

1.me.add(new GlobalInterceptor());
2.me.addGlobalActionInterceptor(newGlobalInterceptor1());
请问下 执行顺序是2然后是1呢? 还是先执行1 然后在2  这两个在用法上有什么区别?


评论区

JFinal

2019-11-25 14:09

me.add 与 me.addGlobalActionInterceptor 是完全等价的,用法上完全没区别

JFinal

2019-11-25 14:10

早期版本只有 me.add 这一个方法, 后来由于要添加业务层拦截器,也就是要添加:
me.addGlobalServiceInterceptor(...)

为了与 addGlobalServiceInterceptor 这个相对应,保持对称,就再添加了 :
addGlobalActionInterceptor

而 addGlobalActionInterceptor 与早期的 add 方法是完全一样的功能

yunqi

2019-11-25 14:13

那想定义先后执行顺序 是不是 写在前面就先执行 写在后面就后执行呢?

JFinal

2019-11-25 14:24

@yunqi 没错, 必须是符合直觉的规则,谁在前谁先拦截

yunqi

2019-11-25 14:30

@JFinal 了然 谢谢

热门反馈

扫码入社