2017-08-14 6 views
0

g:linkの同じparams属性に名前付き引数とマップを追加する際に問題が発生しました。 私のような名前付き引数を置くことができます。gspという名前のパラメータとマップを同じparams属性に入れるためのリンク

<g:link action="action" controller="controller" params='[hello:"hello",world:"world"]'>test</g:link> 

または私はコントローラにマップを作り、などGSPリンクのparamsであることを使用することができます。

<g:link action="action" controller="controller" params='${testParam}'>test</g:link> 

この両方の適切な方法でリンクを形成します。私はこの方法で行うことができません

<g:link action="action" controller="controller" params='${testMapParam},[hello:"hello",world:"world"]'>test</g:link> 

:しかし、今、私は、次のような属性のparams内の同じリンクで両方の方法を使用します。これは適切なリンクを作成しません。これを行う方法はありますか?これで私を助けてください。

ありがとうございます。 乾杯!

+0

[hello: "hello"、world: "world"] "または' params = "$ {[hello:" hello "、world:" world "]}" " – Vahid

+0

@vahid申し訳ありませんが、これは動作しません。同じparamsリンクにmapとnamedパラメータの両方が必要です。 – anishroniyar

答えて

1

時にはあなたが本当に打つことができないsimplicty:

def test() { 
    def map1=['a':1] 
    def map2=['a2':2] 

    def map3=map1+map2 
    println "000 ${map3} vs ${params}" 

    render view:'test', model:[map1:map1,map2:map2] 
} 

ビューGSPにマップを渡す:私はリンク {A = 1} {hello1をクリックしたとき

<g:set var="map6" value="${[hello1:'hello2',world1:'world2'] }"/> 
<g:set var="currentParams" value="${params}"/> 
${map1 } ${map6} 
<g:link action="test" controller="test" params="${map1+map6+map2+currentParams}">test</g:link> 

はこれを表示します=クリックするとhello2、world1 = world2}テスト

私のURLは次のとおりです。

/test?a=1&hello1=hello2&world1=world2&a2=2&hello=hello&world=world 
000 [a:1, a2:2] vs [hello:hello, a:1, a2:2, world1:world2, hello1:hello2, world:world, action:test, controller:test] 

あなたは何をしようとしていますか?いいえ

+0

大変ありがとうございます!それは多くの助けとなりました。 – anishroniyar

関連する問題