Grails 1.1 GSP 过滤器 - 过滤器(Filters)类型

在过滤器的主体内,你可以定义下列过滤器(Filters)的拦截器类型之一:

• before - 操作(Action)之前执行. 返回false来指示后续的控制器(controller)和操作(action)不会被执行

• after - 操作(Action)之后执行. 获取第一参数作为视图模型

• afterView - 视图渲染之后执行

例如,为实现普通身份验证,可以定义如下过滤器(Filters):class SecurityFilters { def filters = { loginCheck(controller:'*', action:'*') { before = { if(!session.user && !actionName.equals('login')) { redirect(action:'login') return false } } } }}

这里的loginCheck过滤器(Filters)使用一个before拦截器来执行代码块,检查是否一个用户在session内,假如不是,重定向到login操作(action)。

注意,如何返回false确保操作(action)本身不被执行 .