你好,这是我想要做的。
当用户按下链接时,它会向列表添加值或在参数中设置。例如在第一次点击时它添加 myId=1 然后它变成/?myId=1
然后在第二次单击其他链接时,它会添加 myId=25 然后它应该变成/?myId=1&myId=25
我试过这个:
<g:link action="test" params="${params+['myId':'1']}"> first</g:link>
<g:link action="test" params="${params+['myId':'25']}"> second</g:link>
但它只是在/?myId=1 或/?myId=25 之间切换,永远不会变成/?myId=1&myId=25。
我该怎么做呢?
最佳答案
那是因为您正在尝试添加 key myId
至params
.由于它已经拥有 key ,因此值已更新。
你可以用 ,
之类的东西来分隔你的值。 , 剩下一个键。
<g:link action="test" params="${params.myId ? [myId: params.myId+',1'] : [myId:1]}"> first</g:link>
<g:link action="test" params="${params.myId ? [myId: params.myId+',15'] : [myId:15]}"> second</g:link>
在您的 Controller 中,您可以使用
tokenize()
在列表中转换 myIdprintln params.myId.tokenize(',')
关于Grails 将值添加到参数内部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16130204/