我在 grails-app/view 下创建了一个名为“content”的文件夹,并从那里提供所有不需要控制器操作的 gsp 文件。
为了服务于这个视图,我添加了一个 UrlMapping "/content/$view"(controller:"content")。这使我能够直接调用 /my-app/content/staticGSP 而无需实际的 ContentController。这在一段时间内运行良好,没有任何问题。
今天,我想添加一个过滤器,它可以直接重定向到内容文件夹下的视图。我在 MYFilter 中添加了一个 before 闭包。
all(controller: "*") {
before = {
if(onSomeCond){
redirect(controller: 'content', action: 'seamless')
return false
}
return true
}
}
如果我尝试使用 Url,此过滤器可以正常工作http://localhost:8080/my-app/home/index
。在这里,我的应用程序中有一个 HomeController。但是,如果我尝试http://localhost:8080/my-app/content/anotherview
,那么过滤器只会以 404 响应。我无法弄清楚这是为什么。
任何见解都会非常有帮助。
谢谢, 阿比吉斯