作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Company
有一些 User
Set
中的实体,所有用户都存储在 DB 中。我想使用 multiple-select
选择一些用户以 HTML 形式。使用 Thymeleaf 和 Spring (MVC, Boot)。
我完全迷失了我应该使用的东西。我试过@InitBinder、Spring Core Converter,但没有任何效果。
问题: @Controller 在 bindingResult.hasErrors() 上失败:
@ Controller
@RequestMapping(value = { "/add" }, method = { RequestMethod.POST })
public String saveNew(@Validated @ModelAttribute("company") Company company, BindingResult bindingResult, Model model) {
if (bindingResult.hasErrors())
public class Company {
private Set<User> users = new HashSet<User>();
<form th:object="${company}">
<select th:field="*{users}" multiple="multiple">
<option th:each="user : ${allUsers}" th:value="${user.id}" th:text="${user.email}"></option>
</select>
最佳答案
你可以使用这个代码
<form th:object="${company}">
<select th:field="*{users}" multiple="multiple">
<option th:each="user : ${allUsers}" th:value="${{user}}" th:text="${user.email}"></option>
</select>
@Component
public class UserFormatter implements Formatter<User> {
@Autowired
private UserService userService;
@Override
public Dia parse(String text, Locale locale) throws ParseException {
return userService.findById(Long.valueOf(text));
}
@Override
public String print(User object, Locale locale) {
return String.valueOf(object.getId());
}
关于validation - 如何从表单中的集合中选择实体? Spring MVC 和 Thymeleaf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27953700/
我是一名优秀的程序员,十分优秀!