如何在Grails过滤器中定义具有不同操作的多个不同控制器?

如何在Grails过滤器中定义具有不同操作的多个不同控制器?,grails,Grails,我读过这篇文章,也读过这篇文章,但我们能把两者结合起来吗?例如: def filters = { someFilterMethod(controller: 'controller1|controller2|...', action: 'controller1Action|controller2Action') { ... } } 可能吗?或者,我总是可以将两个操作重命名为相同的名称。但我只是想知道这是否可能。谢谢。是的,你可以这样做 class MyFilte

我读过这篇文章,也读过这篇文章,但我们能把两者结合起来吗?例如:

def filters = {
someFilterMethod(controller: 'controller1|controller2|...', action: 'controller1Action|controller2Action')         
  {
    ...
  }
}

可能吗?或者,我总是可以将两个操作重命名为相同的名称。但我只是想知道这是否可能。谢谢。

是的,你可以这样做

class MyFilters {

    def filters = {
        someFilter(controller:'one|two|three', action:'read|delete|save') {
            before = {
                // ...
            }
        }
    }
}    

没有办法以声明的方式表达这样的内容,但是你可以在过滤器中放入你需要的任何命令逻辑,以便更具体地说明过滤器对哪些控制器和操作的组合有影响。

这将非常简单,可以在一个有几个控制器的小测试应用程序中试用。是的做该操作将应用于所有指定的控制器。我希望我可以为特定的控制器指定一个独特的操作。例如,筛选器仅应用于controller1/controller1操作,而不应用于controller1/Controller2操作。谢谢。但是我想要的是,我可以为特定的控制器指定一个唯一的操作。例如,筛选器仅应用于controller1/controller1操作,而不应用于controller1/Controller2操作。在您的解决方案中,过滤器将应用于读为| delete | save for controller one | two | three的操作。我希望过滤器能应用于控制器一的读取,为控制器2删除,仅为控制器3保存。无法声明式表达类似的内容,但您可以将所需的任何命令逻辑放入过滤器中,以便更具体地说明过滤器对哪些控制器和操作组合有影响。谢谢!是的,我就是这么做的。如果你把这个作为答复,我会接受的。再次感谢,,