grails g:link pass params

时间:2011-05-21 23:12:29

标签: grails hyperlink params

我有这样的事情:

<g:each in="${temp}">

  <li>Date: ${it.dateParticipated}, <br>Role: ${it.role}, <br>Acceptence: ${it.accepted}, <br>
  <g:link controller="conference" action="participated" id="${it.conference.id}">
     Conference: </g:link>${it.conference},<br>
Role: ${it.role}, <br>Status: ${it.status}</li><br>

  <br>
</g:each>

我想要做的是,当我点击'会议'时,加载了方法'参与'的控制器'会议',并传递参数'it.conference'。我怎样才能在g:link标签中传递这个参数?

我需要这个,因为当我点击“会议”字样时,其他页面会加载会议详细信息并传递ID。

3 个答案:

答案 0 :(得分:30)

使用params属性传入参数图:

<g:link action="/conference/participated" id="${it.conference.id}" params="[foo: 'bar', bar: 'foo']">My Link!</g:link>

有关更多示例,请参阅the documentation

答案 1 :(得分:3)

params="[customerId: customer.id]"

答案 2 :(得分:3)

您需要使用$ {}包装整个参数,而不是包装您想要单独传递的每个变量。

<g:each in="${temp}">

  <li>Date: ${it.dateParticipated}, <br>Role: ${it.role}, <br>Acceptence: ${it.accepted}, <br>
  <g:link controller="conference" action="participated" params="${[id: it.conference.id, role: it.role, status: it.status]}">
     Conference: </g:link>

  <br>
</g:each>