Interceptor拦截器应用疑问

lile-chs 发布于 2013/06/07 18:13
阅读 1K+
收藏 0

@JFinal 你好,想跟你请教个问题:

我有2个级别的拦截器
一个Controller(LoginInterceptor.class)一个Action(UserInterceptor.class)的
在一个UserController中@Before(LoginInterceptor.class),在其action中我只想要@Before(UserInterceptor.class)生效
应该怎么来处理?


或者说会不会我使用了action级别的拦截器,可以使controller级别的拦截器失效?

加载中
0
dimdim
dimdim
按照顺序,不会替代,多重叠加
0
JFinal
JFinal

    使用 @ClearInterceptor 可以清除上一级别的拦截器,如果要清除上二个级别的拦截器可以使用@ClearInterceptor(ClearLayer.ALL)

    详情见JFinal手册,里面有例子代码,很容易理解。

0
lile-chs
lile-chs

引用来自“JFinal”的答案

    使用 @ClearInterceptor 可以清除上一级别的拦截器,如果要清除上二个级别的拦截器可以使用@ClearInterceptor(ClearLayer.ALL)

    详情见JFinal手册,里面有例子代码,很容易理解。

看我的问题。。。。。。。。。。。。。。。。。。。

我需要清除掉Controller级别的拦截器,使用Action级别的。。。

是在这个Action中
@ClearInterceptor
@Before(UserInterceptor.class)

这么使用么

0
今夜吴眠

这么写是对的。手册上面写的很清楚。自己试试就知道了

0
淡年华

引用来自“JFinal”的答案

    使用 @ClearInterceptor 可以清除上一级别的拦截器,如果要清除上二个级别的拦截器可以使用@ClearInterceptor(ClearLayer.ALL)

    详情见JFinal手册,里面有例子代码,很容易理解。

那如果配置了事务Interpret,是不是也会清除?
0
JFinal
JFinal

引用来自“淡年华”的答案

引用来自“JFinal”的答案

    使用 @ClearInterceptor 可以清除上一级别的拦截器,如果要清除上二个级别的拦截器可以使用@ClearInterceptor(ClearLayer.ALL)

    详情见JFinal手册,里面有例子代码,很容易理解。

那如果配置了事务Interpret,是不是也会清除?
无论是什么拦截器,都会按照设计规则进行清除,一般来说在使用@ClearInterceptor清除掉了不该清除的拦截器以后,可以在该处再用 @Before 添加上
返回顶部
顶部