Как получить несколько вариантов выбора? - PullRequest
0 голосов
/ 10 января 2019

У меня есть пользователь, который может иметь несколько ролей. Я создал форму, используя этот код:

<form action="#" th:action="@{/add}" th:object="${user}" method="post">
        <div class="form-group">
            <label for="select1">Roles</label> <select
                multiple="multiple" class="form-control"
                id="select1" th:field="*{roles}">
                <option th:each="role : ${roles}" th:field="*{roles}"
                    th:value="${role.id}" th:text="${role.role}">Part name</option>
            </select>
        </div>
        <button type="submit" class="btn btn-default">Submit</button>
    </form>

и это RequestMapping для него:

@GetMapping(value="/add")
    public String addUserForm(Model model) {
        Set<Role> roles = new HashSet<>();
        Role admin = new Role("1","ADMIN");
        Role user = new Role("2","USER");
        roles.add(admin);
        roles.add(user);
        model.addAttribute("user", new User());
        model.addAttribute("roles", roles);
        return "form";

    }
    @RequestMapping(value = "/add", method = RequestMethod.POST)
    public String saveUser(@ModelAttribute User user) {
        userService.save(user);
        return "success";
    }

в классе пользователя у меня

@DBRef
private Set<Role> roles; // with getters and setters

Я всегда получаю [null] в ролях, а другие поля формы работают, я не включил их для краткости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...