Grails G: ссылка передать параметры - PullRequest
18 голосов
/ 22 мая 2011

У меня есть что-то вроде этого:

<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?

Мне это нужно, потому что, когда я нажимаю слово «конференция», на другую страницу загружается информация о конференции с переданным идентификатором.

Ответы [ 3 ]

30 голосов
/ 22 мая 2011

Используйте атрибут params для передачи карты параметров:

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

См. документацию для дополнительных примеров.

3 голосов
/ 24 февраля 2016

Вам нужно заключить все свои параметры в $ {}, а не в каждую переменную, которую вы хотите передать отдельно.

<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>
3 голосов
/ 19 апреля 2015
params="[customerId: customer.id]"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...