我正在构建查询结果列表,对于每个结果,我希望他们能够选择一个结果,并将结果放在同一页面上。我可以使用单选按钮和一个额外的提交按钮,但我不喜欢看待结果的方式。我的首选解决方案是拥有一个按钮或每个结果的链接,并在选择时更新正确的div。我尝试使用submitToRemote
:
<g:each in="${users}" var="user">
<tr>
<td>
<g:submitToRemote value="${user.firstName} ${user.lastName}"
url="[action: 'modifyUser', id:'${user.id}']" update ="adminSpace"
class="btn btn-primary"/>
...
问题是网址中的id字段,我确定我没有正确访问它,但我不能在我的生活中找到正确的语法。
目前我正在:
Message: named capturing group is missing trailing '}'
我查看过文档(submitToRemote),其中说的是:
url - 要提交的网址,包含操作键,控制器和ID或字符串值的地图
然而,它没有给出关于如何指定id的任何指示。当我手动为id添加值时,它确实有效(例如:
url="[action: 'modifyUser', id: '1']"
)。然而,这并不是非常有用。那么如何在submitToRemote的范围内将id传递给我的动作?
答案 0 :(得分:0)
如果您尝试使用createLink方法怎么办?类似的东西:
<g:submitToRemote value="${user.firstName} ${user.lastName}"
url="${createLink(action: 'modifyUser', id: user.id)}" update ="adminSpace"
class="btn btn-primary"/>
答案 1 :(得分:0)
不要将user.id
放在${}
中:
<g:submitToRemote value="${user.firstName} ${user.lastName}"
url="[action: 'modifyUser', id: user.id]" update="adminSpace"
class="btn btn-primary"/>
并且您的代码运行正常。