0

我在 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 响应。我无法弄清楚这是为什么。

任何见解都会非常有帮助。

谢谢, 阿比吉斯

4

1 回答 1

0

显然http://localhost:8080/my-app/content/anotherview匹配 url 映射"/content/$view"(controller:"content")并且您没有文件夹anotherview中的视图。在文件夹内。因此,404。staticanotherviewcontent

您为静态内容添加的文件夹的名称是content还是static?你的问题说static

于 2013-05-08T22:24:49.933 回答