Как сохранить значения объекта поддержки Spring MVC формы? - PullRequest
1 голос
/ 08 декабря 2011

В моем контроллере есть метод для возврата объекта поддержки формы:

@ModelAttribute(“userData”)
public UserData formBackingObject() {
    return new UserData();
}

Когда отправка формы не проходит проверку на валидацию, она отображается повторно, но при повторной визуализации объект userData делаетне содержат предоставленные пользователем значения - только значения, представленные при инициализации выше.

@RequestMapping(method = RequestMethod.POST)
public void userData(HttpServletRequest request, @ModelAttribute(“userData”) UserData userData, BindingResult bindResult, ModelMap model) {

    // do validation checks

    if (bindResult.hasErrors()) {
        // perform redirect back to same page
    }

    return "userData";
}

Ответы [ 2 ]

0 голосов
/ 08 декабря 2011

@ ModelAttribute на уровне метода обычно задается для добавления вида эталонных данных в модель. И эти аннотации выполняются до @ RequestMapping ; следовательно, ваш атрибут "userData" обновляется новым объектом до того, как элемент управления достигнет вашего открытого void userData (). способ.

Решение состоит в том, чтобы добавить userData к модели в методе, который возвращает вашу форму userdata jsp в браузер.

0 голосов
/ 08 декабря 2011

Вам нужно сделать model.addAttribute («ключ», значение).Это поможет привязать значения к объекту модели, проверяя http://static.springsource.org/spring/docs/current/spring-framework-reference/html/mvc.html для образца.

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