В моем контроллере при добавлении нового пользователя я пытаюсь добавить выбор роли (администратор или пользователь), связав его с помощью тимилефа
контроллеров
@RequestMapping(value = "admin", method = RequestMethod.POST)
public String addPost(@ModelAttribute User user) {
userService.addUser(user);
return "redirect:/admin";
}
@RequestMapping(method = RequestMethod.POST)
public String createUserRole(Model model) {
model.addAttribute("roles", roleService.getRoleByRoleName("ADMIN"));
model.addAttribute("roles", roleService.getRoleByRoleName("USER"));
return "admin";
}
admin.html
<h4> Add user</h4>
<form method="post" accept-charset="UTF-8">
Enter Username <input type="text" name="name" > <br>
Enter Password <input type="password" name="password" > <br>
<label><select required name="roles">
<th:block th:each="role : ${roles}">
<tr>
<td th:text="${role.id}"></td>
<option><td th:text="${role.roles}">ADMIN</td></option>
</tr>
</th:block>
</select>
</label> Role <br>
<button type="submit" name="create" >create</button>
Я знаю, что моя попытка выбрать роль в листе тимьяна неверна.Я перепробовал много вариантов
<td th:text="${roles.setRoleName('USER')}">USER</td>
Добавление роли пользователя или администратора работает через добавление в контроллер, но как добавить выбор между ролями?
@RequestMapping(value = "admin", method = RequestMethod.POST)
public String addPost(@ModelAttribute User user) {
Role roleUser = roleService.getRoleByRoleName("USER");
Set<Role> roles = new LinkedHashSet<>();
roles.add(roleUser);
user.setRoles(roles);
userService.addUser(user);
return "redirect:/admin";
}
Буду благодарен залюбые мысли!