Как привязать флажок к dto в freemarker - PullRequest
1 голос
/ 20 мая 2019

Я хотел бы обновить 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

Так что я даже не вижу флажки в форме.

...