Как добавить роль пользователю через Thymeleaf - PullRequest
0 голосов
/ 26 сентября 2018

В моем контроллере при добавлении нового пользователя я пытаюсь добавить выбор роли (администратор или пользователь), связав его с помощью тимилефа

контроллеров

@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";
}

Буду благодарен залюбые мысли!

...