2011-10-17 40 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]