Grails UrlMappings用于重写静态URL

时间:2014-05-07 20:06:21

标签: grails

我试图在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。

1 个答案:

答案 0 :(得分:0)

映射到特定URI时,您不能使用闭包。正如documentation

中所示
  

将一个URI重写到另一个显式URI(而不是   控制器/动作对)做这样的事情:

"/hello"(uri: "/hello.dispatch")

所以在你的情况下:

"/page/$pageId"(uri: "/foo/bar/pages/${pageId}.html")