Я пробовал и пытался, но не могу понять, что здесь происходит.spring mvc 3 - SessionAttributes не работает
- У меня есть простой контроллер аннотированный с помощью @Controller
- Я также аннотацию к @SessionAttributes
- Я обрабатывать запрос GET и поместить объект в модель.
- Когда я возвращаю POST из формы, я возвращаю только то, что пользователь заполнил. Я не возвращаю полный объект.
Я новичок в SessionAttributes, но я думал, что это сохранило весь объект и, когда объект был прочитан обратно в методе с использованием @ModelAttribute, было бы объединить объект (то есть объект, форма изменилась). Однако я не вижу такого поведения.
Любая помощь будет высоко оценена.
Вот соответствующие отрывки из кода:
@Controller
@RequestMapping("/user")
@SessionAttributes("user")
public class UserController
{
// ...
@RequestMapping(value = "/{login}", method = RequestMethod.GET)
public String profile(Model model, @PathVariable("login") String login)
{
// ...
model.addAttribute("user", user);
// ...
}
@RequestMapping(value="/{login}", method = RequestMethod.POST)
public String saveProfile(@ModelAttribute("user") @Valid User user, BindingResult result, SessionStatus status)
{
if (result.hasErrors())
{
return "user/index";
}
// ...
status.setComplete();
return "redirect:/user/"+user.getLogin();
}
Вы видите что-нибудь, что я, возможно, пропустили? Я потратил почти день, пытаясь понять это, и просто не могу. Любая помощь приветствуется.
Обновление: Я выяснил, в чем проблема. Ответ отправлен ниже.