2011-10-17 50 views
7

我想添加一个参数到我的params地图,并将其余的链接绑定到其他地方。目前,我只绑定params经典如下:Grails - 将参数添加到params地图

<g:link class="email" controller="administrator" action="test" params="${params}">Link text</g:link> 

我怎么能添加一个参数到params地图?

非常感谢您的帮助。 问候,

编辑:

好吧,我有找到一个方法来做到这一点。

params="${params + ['forwardURI': request.forwardURI]}" 

我不知道是否还有类似Grails的方式来做到这一点。如果有一个,我将不得不去学;)

+0

您可能想要更改链接的文本,因为这是相当不恰当的。关于主题,你想在什么时候绑定数据? – Joseph

+0

嗨Joseph, 如果你坚持,我会删除标签,但是,用'params'地图工作,你会不会调用那个数据绑定? –

+0

顺便说一句,我认为我发现'我打败了我的妻子'的方式更具攻势:)但你的选择:) –

回答

2

如果你有多次这样做,你可以使用你已经张贴在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]