Я пытаюсь динамически установить значения идентификаторов некоторых элементов на странице gsp. Значения передаются на страницу из контроллера при рендеринге. Однако, когда я смотрю исходный код, значение идентификатора не установлено.
Я пытаюсь сделать следующее:
<g:each in = "${listBenefits}" var = "benefit" status = "i">
<div class = "card" id = "${benefit.getId()}">
...
</g:each>
но значение не вставляется в идентификатор.
Однако я могу сделать следующее:
<h1>${benefit.getId()}</h1>
И значение отображается.
Я пытался установить значение переменной, прежде чем использовать ее так
<g:set var = "idaccordion" value = "${benefit.getId()}" />
<div class = "card" id = "${idaccordion}">
и тоже не работает.
Я ожидаю получить что-то вроде этого:
<div class = "card" id = "desired_id">
и вместо этого я получаю что-то вроде этого
<div class = "card" id = "">
Любые идеи о том, что я делаю неправильно, будут оценены.
Я не могу найти ошибок в вашей работе. Я предлагаю вам попробовать следующий фрагмент в том же представлении (например, на странице gsp) и посмотреть, как он отображается.
<g:each in = "${1..3}" var = "rn">
<div id = "${rn}">Test ${rn}</div>
</g:each>
Если код работает правильно, я считаю, что вам нужно пересмотреть benifit.getId()
метод. Вы можете использовать benefit.id
, чтобы увидеть, дает ли это какую-либо разницу.
Спасибо за вашу помощь. Это был метод Benefit.getId(). Я неправильно обрабатывал один из случаев, и он возвращал значение null, что приводило к сбою.
Звучит странно. Он должен работать. Не могли бы вы соединить h1 и div в один
each
и показать код и результат? Без всяких других тегов..