У меня есть следующая проблемаПередача списка значений обратно в контроллер
- Я создаю
List<UserProfileHelper>
значений - Этот список добавляется к ProfileUserCommand для отправки в представлении (profile.gsp) для рендеринга
Как вы можете видеть, объект ProfileUserCommand включает в себя 2 булевских значения, предназначенных для управления статусом флажков в GSP. Эта часть работает отлично, так как я вижу, что GSP отображается правильно, и с флажками, правильно отмеченными/немаркированными.
При отправке формы обратно контроллеру я не знаю, как «перестроить» этот список с обновленными значениями из GSP, поэтому я могу получить обновленные данные List<UserProfileHelper>
.
Это мои классы
UserProfileHelper.groovy
class UserProfileHelper {
Long optionId
String optionName
boolean isSubMenu
boolean hasAccess
boolean canWrite
}
ProfileUserCommand.groovy
class ProfileUserCommand {
String username
List userProfile = [].withLazyDefault { return new UserProfileHelper() }
static constraints = {
username blank: false
userProfile blank: true, nullable: true
access blank: true, nullable: true
}
}
profile.gsp (только соответствующий раздел GSP)
<g:each in="${command.userProfile}" var="option">
<tr>
<td>
${option.optionId}
</td>
<td>
<g:if test="${!option.isSubMenu}">
${option.optionName}
</g:if>
<g:else>
</g:else>
</td>
<td>
<g:if test="${option.isSubMenu}">
${option.optionName}
</g:if>
<g:else>
</g:else>
</td>
<td>
<g:checkBox bean="${option}" name="access" value="${option.hasAccess}"/>
</td>
<td>
<g:checkBox bean="${option}" name="write" value="${option.canWrite}"/>
</td>
</tr>
</g:each>
Заранее благодарен!