【发布时间】:2014-07-08 02:49:51
【问题描述】:
我的 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"])}',突然我的网址以/test 结尾,完全丢失了参数。
为什么会发生这种情况,我该如何解决?
【问题讨论】:
-
您是否尝试过使用
params="${passthrough(['present': 'yes'])}"。标记"和'的使用。 -
为什么不允许您的 taglib 为您呈现该链接。在 gsp 和 taglib 中试试这个 def passthrough = { attrs, body -> out
-
@swapnilsawan 效果很好,谢谢。我仍然不明白为什么我的原始代码被破坏了,但这是一个很好的解决方法(可能比我尝试做的更好)。
-
@Kiwi 很高兴听到它对你有用,我之前已经从 taglib 渲染链接,但不知道它是否是最佳实践。我会将其作为接受的答案,以便寻求帮助的人可以参考。