我的GSP页面中有一个<g:link action="test" params='["present": "yes"]'标记,当单击该标记时,会将我发送到以/test?present=yes结尾的URL。

如果我定义此自定义标签库:

class HelperTagLib {
    static defaultEncodeAs = 'html'

    static returnObjectForTags = ['passthrough']

    def passthrough = { Map attrs, Object body ->
        return attrs
    }
}

并将其添加到标记<g:link action="test" params='${passthrough(["present": "yes"])}'中,突然我的URL以/test结尾,完全失去了参数。

为什么会发生这种情况,我该如何解决?

最佳答案

允许您的taglib为您呈现该链接。在gsp和taglib中尝试此</g:passthrough>

def passthrough = { attrs, body -> out << g.link(controller: 'foo', action: 'test', params: [present: 'yes']) }

08-28 23:13