Grails - 向 params 映射添加参数
Posted
技术标签:
【中文标题】Grails - 向 params 映射添加参数【英文标题】:Grails - Add a parameter to the params map 【发布时间】:2011-12-09 12:43:51 【问题描述】:我想在我的params
映射中添加一个参数,并将其余参数绑定到一个链接中。目前,我只经典地绑定params
如下:
<g:link class="email" controller="administrator" action="test" params="$params">Link text</g:link>
如何向params
映射添加参数?
提前感谢您的帮助。 问候,
编辑:
好的,我已经找到办法了。
params="$params + ['forwardURI': request.forwardURI]"
我不知道是否还有其他类似 Grails 的方法。如果有的话,我有义务学习它;)
【问题讨论】:
您可能想要更改链接的文本,因为这是相当不合适的。关于主题,您在什么时候尝试绑定数据? 您好 Joseph,如果您坚持,我会删除标签,但是,以这种方式使用“参数”地图,您不会称其为数据绑定吗? BTW Burt,我觉得“我打败了我的妻子”这句话更令人反感 :) 但你的选择 :) :) '13 个字符让我的笑脸被接受' 傻了我,我正在尝试这样做,params="$params.put('forwardURI' ,request.forwardURI)" 没有意识到有不同的方法可以做到这一点在普惠制中 【参考方案1】:如果您必须重复执行此操作,则可以使用您在 g:link
包装标签库中发布的答案,因为标签库可以访问 params
和 request
。
def forwardAwareLink = attr, body ->
attr.params = params + ['forwardURI': request.forwardURI]
out << g.link(attr, body)
在 gsp 中:
<g:forwardAwareLink class="email" controller="administrator" action="test">Link text</g:forwardAwareLink>
如果您想将标签与来自 gsp 的自定义参数映射一起使用,您还可以在标签库中使用以下内容:
attr.params = attr.params + ['forwardURI': request.forwardURI]
【讨论】:
以上是关于Grails - 向 params 映射添加参数的主要内容,如果未能解决你的问题,请参考以下文章