我试图在UrlMappings
中执行类似的操作来重写和缩短静态HTML的网址:
mappings = {
"/page/$pageId" {
uri = {
"/foo/bar/pages/${pageId}.html"
}
}
...
}
目标是将/page/xyz
之类的网址发送到/foo/bar/pages/xyz.html
。
我还没有能够使用上述语法 - Grails似乎不喜欢闭包作为URI的值。
我也试过没有关闭
"/page/$pageId"(uri: "/foo/bar/pages/${pageId}.html")
并得到了404:/foo/bar/pages/(*).html未找到。
我正在使用Grails 2.2.2。
答案 0 :(得分:0)
映射到特定URI时,您不能使用闭包。正如documentation:
中所示将一个URI重写到另一个显式URI(而不是 控制器/动作对)做这样的事情:
"/hello"(uri: "/hello.dispatch")
所以在你的情况下:
"/page/$pageId"(uri: "/foo/bar/pages/${pageId}.html")