奇怪的过滤行为

时间:2013-05-08 20:07:15

标签: grails grails-filters

我创建了一个名为' content'的文件夹。在grails-app / view下,并从那里提供所有不需要控制器操作的gsp文件。

为了提供这种观点,我添加了一个UrlMapping" / content / $ view"(控制器:"内容")。这使我能够在没有实际ContentController的情况下直接调用/ my-app / content / staticGSP。这有效一段时间没有任何问题。

今天,我想添加一个过滤器,它会直接重定向到内容文件夹下的视图。我在MYFilter中添加了一个关闭之前。

  all(controller: "*") { 
       before = { 
             if(onSomeCond){ 
                 redirect(controller: 'content', action: 'seamless') 
                 return false 
             } 
            return true 
        } 
   } 

如果我尝试使用网址http://localhost:8080/my-app/home/index,此过滤器可以正常工作。我在我的应用程序中有一个HomeController。 但是,如果我尝试http://localhost:8080/my-app/content/anotherview,那么过滤器只会响应404.我无法弄清楚为什么会这样。

任何见解都会非常有用。

谢谢, 阿济斯

1 个答案:

答案 0 :(得分:0)

显然http://localhost:8080/my-app/content/anotherview与网址映射"/content/$view"(controller:"content")匹配,但您在anotherview文件夹中没有查看staticanotherview位于content文件夹中。因此,404。

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