为了创建一个过滤器,可在 grails-app/conf 下创建一个以规约 Filters 结尾的类。
在这个类中,定义一个名为 filters 的代码块,它包含了过滤器的定义 :class ExampleFilters {
def filters = {
// your filters here
}
}
每个在filters块中定义的过滤器(Filters)拥有一个名字和一个作用域。
名字是方法的名字,作用域使用命名参数来定义。
例如,假如你需要定义一个应用于所有控制器(controller)和操作(action)的过滤器(Filters)可以使用通配符 :sampleFilter(controller:'*', action:'*') {
// interceptor definitions
}
过滤器的作用域可以是下面之一:
• 具有通配符的一个控制器(controller)和/或操作(action)名字对
• 具有Ant路径匹配语法的一个URI过滤器的一些示例包括:
• 所有控制器(controller)和操作(action)all(controller:'*', action:'*') {
}
• 只适合BookControllerjustBook(controller:'book', action:'*') {
}
• 适合一个URI空间someURIs(uri:'/book/**') {
}
• 适合所有的URIsallURIs(uri:'/**') {
}
另外,这个次序决定了你所定义的过滤器的执行次序.