Передача объекта из списка в форме: опция option - PullRequest
0 голосов
/ 30 января 2019

У меня есть DTO, в котором я хочу назначить объект из списка в форме: опция tag. DTO

public class UserDTO implements Serializable {

    private Group group;
    @JsonProperty("phone")
    private String phone;
    @JsonProperty("password")
    private String password;
    @JsonProperty("confirmPassword")
    private String confirmPassword;
    -- Getters and setters
}

JSP

                         <spring:bind path="group">
                                <div class="form-group inner-addon left-addon ${status.error ? 'has-error' : ''}">
                                    <form:select path="group" class="form-control">
                                        <c:forEach items="${groups}" var="group">
                                            <form:option value="${group}" label="${group.name}"/>
                                        </c:forEach>
                                    </form:select>
                                    <form:errors path="group"/>
                                </div>
                            </spring:bind>

Контроллер

@RequestMapping(value = "/finish-registration", method = RequestMethod.GET)
    public String finishRegistration(Model model) {
        model.addAttribute("groups", GROUP_LIST);
        model.addAttribute("UserDTO", new UserDTO());
        return "finish-registration";
    }

    @RequestMapping(value = "/finish-registration", method = RequestMethod.POST)
    public String finishRegister(@ModelAttribute("UserDTO") UserDTO userDTO, BindingResult result, Model model, Locale locale) {
        System.out.println(userDTO.toString());
        studentValidator.validate(userDTO, result);
        if (result.hasErrors()) {
            return "finish-registration";
        }
}

в результате у меня появляется ошибка

Caused by: javax.el.PropertyNotFoundException: Property 'name' not found on type java.lang.String

Я не понимаю, почему значение не отображается в поле DTO как объект.

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