Я пытаюсь уменьшить количество повторяющегося кода GSP в моем приложении Grails. Следующий код работает как положено:
<g:textField name="recordValues.0.name" value="${recordValues?.get(0)?.name}"/>
<g:textField name="recordValues.0.age" value="${recordValues?.get(0)?.age}"/>
[править] recordValues.0.age
на самом деле является картой, а не свойством класса, как я говорил ранее.
Однако, когда я пытаюсь динамически установить набор из них с перечислением list , атрибут value не оценивается:
<g:each in="${fields}" var="prop">
<g:textField name="recordValues.0.${prop}" value="${recordValues?.get(0)?.prop}"/>
</g:each>
Похоже, что атрибут значения ищет свойство Ключ карты с именем "prop" и не оценивает его как переменную. Я пробовал recordValues?.get(0)[prop]
с ?
и без него, но он не компилировался.
Есть ли какой-нибудь динамический метод, который я могу вызвать с переменной в качестве аргумента или даже более простое решение?