为什么g:链接忽略请求参数?

时间:2015-01-26 16:20:50

标签: grails gsp

在我的Grails应用中,我有一个直接映射到UrlMappings.groovy

中的视图的网址
"/geolocation"(view: "/geolocation/index")

我尝试生成包含请求参数的此视图的链接:

<g:link elementId="btnSrcDest" uri="/geolocation" class="mapInfo" 
        params="[mapType: 'foo']">
    Click me
</g:link>

但这会生成以下HTML

<a class="mapInfo" id="btnSrcDest" href="/myApp/geolocation">
    Click me
</a>

虽然我期待这个:

<a class="mapInfo" id="btnSrcDest" href="/myApp/geolocation?mapType=foo">
    Click me
</a>

为什么忽略params的{​​{1}}属性?

1 个答案:

答案 0 :(得分:2)

如果您使用uri属性,那么假定它是完整的(webapp相对)链接,不会进行进一步的处理。您可以尝试将其命名为URL映射

name geo:"/geolocation" {
  view = "/geolocation/index"
}

然后使用

<g:link elementId="btnSrcDest" mapping="geo" class="mapInfo" 
        params="[mapType: 'foo']">