【问题标题】:Grails - Add a parameter to the params mapGrails - 向 params 映射添加参数
【发布时间】: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)}" 没有意识到有不同的方法可以做到这一点在普惠制中

标签: data-binding grails binding parameters params


【解决方案1】:

如果您必须重复执行此操作,则可以使用您在 g:link 包装标签库中发布的答案,因为标签库可以访问 paramsrequest

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]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-14
    • 1970-01-01
    相关资源
    最近更新 更多