我创建了一个名为' 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.我无法弄清楚为什么会这样。
任何见解都会非常有用。
谢谢, 阿济斯
答案 0 :(得分:0)
显然http://localhost:8080/my-app/content/anotherview
与网址映射"/content/$view"(controller:"content")
匹配,但您在anotherview
文件夹中没有查看static
。 anotherview
位于content
文件夹中。因此,404。
您为静态内容添加的文件夹名称是content
还是static
?您的问题是static