`
stworthy
  • 浏览: 522808 次
  • 来自: ...
社区版块
存档分类
最新评论

控制器过滤器

阅读更多

  et-mvc可以使用三种过滤器,分别是BeforeFilter, AfterFilter, AroundFilter,通过相应的注解作用在控制器上,可用的注解有@BeforeFilter, @BeforeFilters, @AfterFilter, @AfterFilters, @AroundFilter, @AroundFilters。

  过滤器是在Action执行之前或之后执行的一个方法,可以理解为是控制器的拦截器。

  前置过滤器和后置过滤器使用相同的方法原型,如

    private boolean showInfo(){
        System.out.println(controllerName+":"+actionName);
        return true;
    }

  如果返回true,则继续执行后续代码,如果返回false则中断所执行的方法。

  环绕过滤器必须实现AroundHandler接口,如下所示

public class MyAroundFilter implements AroundHandler{
    public boolean before(Controller controller){
        System.out.println("before exec");
        return true;
    }
    public boolean after(Controller controller){
        System.out.println("after exec");
        return true;
    }
}

 将过滤器通过注解作用在控制器上:

@BeforeFilter(execute="showInfo")
@AroundFilter(execute=MyAroundFilter.class)
public class ApplicationController extends Controller{
    private boolean showInfo(){
        System.out.println(controllerName+":"+actionName);
        return true;
    }
}

 这样,任何继承于ApplicationController的控制器都安装了以上过滤器,也可以在指定的控制器上安装指定的过滤器。过滤器默认对所有的Action有效,如果需要指定对那些Action有效,可以使用except, only等参数。

 

关于etmvc的详细资料,请访问www.etmvc.cn

 

 

3
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics