Как косвенно ссылаться на переменную модели GSP Grails, например, через .get (…)

Я использую GSP для отправки электронных писем на основе плагина MailService. Закрытие sendMail проходит (среди прочих)body(view:..., model:myModel)

Я знаю, что могу получить доступ к каждому элементу карты myModel, просто используя${itemName} в ВСП. Однако, как я иногда хочу построить имя элемента динамически, как'item'+iМне нужно иметь некоторый окружающий метод для доступа к переменной.

Я уже пробовала${model.get('item'+i), а также${params.get('item'+i), но модель пуста, а params - пустая карта. Я также пробовал pageScope, но хотя я могу получить доступ к элементу через${pageScope.itemNameЯ не могу использовать${pageScope.get('item'+i)} потому что pageScope не является картой.

Вероятно, есть несколько решений, чтобы решить эту проблему; Я был бы рад о простом ;-). Одно решение, которое я вижу, состоит в том, чтобы передать myModel в качестве единственного параметра, а затем всегда использоватьmyModel.get(...)однако это означало бы, что мне пришлось изменить все мои существующие GSP, чтобы они всегда ссылались на myModel вместо прямого доступа к элементам (с фиксированными именами); так что если есть способ, при котором мне не нужно менять модель, передаваемую в GSP, это будет моим любимым.

Если бы кто-то мог также сказать несколько слов о разнице модели и параметров в этом контексте, это было бы дополнительно полезно!

Ответы на вопрос(3)

Ваш ответ на вопрос