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

控制器过滤器

MVC 
阅读更多

  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
分享到:
评论

相关推荐

    respond_supported_only:支持定义 Rails 的控制器过滤器,该过滤器以意外的“接受”拒绝请求

    仅响应支持 :sparkles: :sparkles: :sparkles: 我们正在寻找一闪一闪的名字 :sparkles: :sparkles: :sparkles: 支持定义 Rails 的控制器过滤器,该过滤器拒绝带有意外Accept:标头的请求。 我不喜欢在所有操作中编写 ...

    FILTRON反冲洗控制器手册 1-10- ENGLISH MANUAL.doc

    FILTRON反冲洗控制器是一种模块化的反冲洗控制器,适用于自动过滤器的1到10个站点。该控制器有DC和AC两种模式。DC模式可以使用6V DC或12V DC电源,并激活2个12V DC的电磁阀。AC模式包含一个内部变压器,可以使用110V...

    servlet过滤器实例经典过滤器

    通过实例化和配置过滤器,我们可以实现诸如字符集转换、权限控制、日志记录等多种功能,提升应用的安全性和性能。在学习和使用过程中,一定要深入理解Filter接口的方法和生命周期,以及如何在web.xml中正确配置过滤...

    权限控制的过滤器

    权限控制的过滤器 蛮好的 写的有点简单 不好勿喷

    web过滤器 c#

    这些过滤器在执行控制器动作之前或之后、验证用户权限、处理异常以及修改视图结果时发挥作用。 1. **Action Filters**:行动过滤器是围绕控制器动作方法执行的,可以用于数据验证、缓存、日志记录等。它们可以在...

    STM32的CAN过滤器详解.pdf

    STM32的CAN控制器通常提供14组过滤器,而在某些互联型芯片中则扩展到了28组。每组过滤器可以是1个、2个或4个过滤器,这些过滤器并联工作,只要报文通过任意一个过滤器,就会被视为有效并进入相应的FIFO。 过滤器的...

    过滤器文档过滤器使用中的方法过滤器.pdf

    过滤器在IT行业中,特别是在Web开发领域,是一个重要的概念,它...通过合理地使用过滤器,开发者可以更高效地管理和控制Web应用的流量,提高应用的安全性和用户体验。理解并熟练运用过滤器是每个Web开发者的必备技能。

    Grails 的过滤器(Grails Filters)

    全局过滤器适用于所有控制器,而控制器内部的过滤器只适用于该控制器。 例如,在 BootStrap.groovy 中定义一个全局登录检查过滤器: ```groovy import grails.filters.* class BootStrap { def filters = { all...

    Java SpringBoot实现的过滤器(和拦截器)控制登录页面跳转

    本项目主要关注的是如何使用过滤器(Filter)和拦截器(Interceptor)来实现登录页面的控制与跳转。以下是对这些知识点的详细说明: 1. **SpringBoot**: SpringBoot是Spring框架的一个子项目,旨在简化Spring应用...

    拦截器和过滤器的区别

    在现代软件开发过程中,特别是Web应用程序中,为了实现灵活高效的业务逻辑处理及控制流管理,常常会使用到两种设计模式:拦截器(Interceptor)与过滤器(Filter)。这两种技术虽然在功能上有一定的相似之处,但其...

    拦截器过滤器.rar

    "拦截器过滤器.rar"这个压缩包文件很可能包含了一些示例代码或教程,教你如何在Web应用程序中实现请求和响应的过滤与拦截。让我们深入探讨这两种技术。 1. **拦截器(Interceptor)** 拦截器通常在基于MVC(Model-...

    过滤器(java编写的过滤器)

    在Java Web开发中,过滤器(Filter)是一种非常重要的技术组件,它可以在请求到达目标资源(如Servlet或JSP页面)之前或之后执行某些操作。过滤器可以用来实现各种功能,如用户认证、权限检查、编码转换、日志记录等。...

    Servlet过滤器的简单使用源码+文档

    Servlet过滤器是Java Web开发中的一个重要概念,它允许开发者在HTTP请求到达...过滤器提供了一种灵活的方式来增强应用程序的功能,无需修改原有的Servlet代码,对于权限控制、日志记录、性能监控等场景非常实用。

    CAN_Filter_Test

    `CAN_Filter_Test`这个文件很可能是用于验证和调试CAN控制器过滤器功能的代码。测试代码可能包括以下部分: 1. **初始化**:设置CAN控制器的工作模式,配置过滤器的ID和屏蔽码,并启用过滤器。 2. **发送消息**:...

    java过滤器例子

    Java过滤器,全称为Servlet Filter,在Java Web开发中扮演着重要的角色。...通过使用过滤器,开发者...在实际项目中,可以根据需求创建各种自定义过滤器,如缓存控制、GZIP压缩、安全过滤等,以实现更加灵活和强大的功能。

    asp.net mvc2.0 filter

    全局过滤器适用于整个应用程序,控制器过滤器只影响该控制器下的所有动作,而动作过滤器则仅针对标记的动作。 **6. 过滤器参数** 可以为过滤器传递参数,这在需要动态配置过滤器行为时非常有用。例如,为日志级别...

    过滤器的编写

    在IT行业中,过滤器(Filter)是一种常见的...通过理解和熟练运用过滤器,开发者能够更好地控制Web应用的行为,提高应用程序的安全性和效率。在实际项目中,根据需求编写合适的过滤器是提升系统性能和用户体验的关键。

    过滤器.zip

    在IT领域,过滤器(Filter)是一个非常关键的概念,尤其在Web开发中,它被广泛应用于数据处理和请求响应的预处理或后处理。这里提到的"过滤器.zip"文件包含了一系列的示例项目,从filter_demo到filter_demo5,它们...

    设计模式-拦截过滤器

    - **视图控制器的生命周期管理**:在显示或隐藏视图控制器时,可以添加过滤器来处理过渡动画、数据刷新等问题。 - **用户认证与授权**:在用户访问特定功能或资源之前,可以通过过滤器检查其权限,确保安全。 - **...

    版本控制与过滤器设计

    版本控制与过滤器设计是软件开发中的两个重要概念,它们在构建高效、可维护的代码库和处理数据流中起到关键作用。版本控制系统如Git,让开发者能够追踪代码的变更历史,协同工作,并轻松回滚到任何历史版本。而过滤...

Global site tag (gtag.js) - Google Analytics