Я хотел бы обновить dto с помощью формы.
Работает с текстовыми полями:
<@spring.formInput "updateable.name" "" "text"/>
, но у меня проблема с флажками.
У dto есть список, и я хотел бы удалить из него роли или добавить в него новые роли, когда вы проверяете или снимаете флажки в формах после отправки.
Я попробовал роли с помощью HashMap и поместил в него все роли:
roles.put(roleDto.getId().toString(), roleDto.getName());
Форма:
<@spring.formCheckboxes path="updateable.roles" options="${roleMap}" separator="<br>"/>
Преобразователь:
@Override
public RoleDto convert(final String id) {
System.out.println("Trying to convert id=" + id + " into a role");
int parseId = Integer.parseInt(id);
int index = parseId - 1;
List<RoleDto> roleDtos = roleApi.fetchAllRoles();
return roleDtos.get(index);
}
Вывод:
[Expected a string or something automatically convertible to string (number, date or boolean),
or "template output" , but this has evaluated to an extended_hash
(wrapper: f.t.SimpleHash):==> roleMap
Так что я даже не вижу флажки в форме.