Я загружаю объект пользователя, вызывающий службу, а затем сохраняю этого пользователя как объект команды в модели на GET в контроллере.Этот пользовательский объект имеет много свойств, которые не отображаются на странице jsp.После отправки формы я получаю объект команды в контроллере на POST.Но, как ни странно, я вижу только те свойства в объекте команды, которые сопоставлены со страницей jsp.Все остальные свойства, которые были там, когда я загружал объект, потеряны.Мне нужны все свойства объекта, чтобы можно было успешно сохранить его в базе данных.
Кто-нибудь может мне помочь решить эту проблему?Спасибо!
Обновление
Я добавляю код, чтобы лучше его понять.В обработчике POST я ожидал, что объект команды будет иметь все свойства, которые были загружены в обработчик GET, в дополнение к свойствам, связанным с jsp.Вместо этого я теряю все свойства, кроме тех, которые связаны с JSP.Я что-то здесь не так делаю?
@RequestMapping(method = RequestMethod.GET)
public String showForm(ModelMap model, HttpSession session, HttpServletRequest request) throws Exception {
UserBean user = Util.getUser(session);
UserBean command = (UserBean)userProfileService.loadByUserName(user.getUserName());
model.addAttribute("command", command);
return formView;
}
@RequestMapping(method = RequestMethod.POST)
public String onSubmit(@ModelAttribute("command") UserBean command, BindingResult result, HttpSession session) throws Exception {
UserBean user = (UserBean) command;
userProfileService.saveUser(user);
return "successView";
}
Обновление
Я добавляю некоторый код, чтобы лучше его понять.В обработчике POST я ожидал, что объект команды будет иметь все свойства, которые были загружены в обработчик GET, в дополнение к свойствам, связанным с jsp.Вместо этого я теряю все свойства, кроме тех, которые связаны с JSP.Я что-то здесь не так делаю?
@RequestMapping(method = RequestMethod.GET) public String showForm(ModelMap model, HttpSession session, HttpServletRequest request) throws Exception { UserBean user = Util.getUser(session); UserBean command = (UserBean)userProfileService.loadByUserName(user.getUserName()); model.addAttribute("command", command); return formView; }
@RequestMapping(method = RequestMethod.POST) public String onSubmit(@ModelAttribute("command") UserBean command, BindingResult result, HttpSession session) throws Exception { UserBean user = (UserBean) command; userProfileService.saveUser(user); return "successView"; }
Обновление
Если я сохраню объект команды в сеансе, как jsp будет связывать свойства.Я думал, что мне нужно хранить его в модели для этого?Не могли бы вы объяснить, пожалуйста.
Обновление
Хранение объекта команды в сеансе решает проблему.Я смог сохранить его, используя
@SessionAttributes ("command")
Большое спасибо!