我想用表格更新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
所以我什至看不到表格上的复选框。