Я использую объект домена в качестве объекта команды в веб-слое.В одном случае этот объект команды поддерживает форму, представляющую частичное обновление объекта домена.
@RequestMapping( value = "/club/edit", method = RequestMethod.GET )
public String setupEditClubForm( ModelMap model, @RequestParam( "clubId" ) Long clubId ) {
Club club = clubService.findClubById( clubId );
model.addAttribute( "club", club );
model.addAttribute( "action", "edit" );
return "clubForm";
}
@RequestMapping( value = "/club/edit", method = RequestMethod.POST )
public String processEditClubForm( ClubEntity club, BindingResult result ) {
if ( result.hasErrors() ) {
return "clubForm";
}
clubService.updateClub( club );
return "redirect:/club/" + club.getId();
}
Моя проблема состоит в том, что у объекта домена есть некоторые поля, которые не изменяются при отправке этой формы.Эти поля, у которых нет соответствующих параметров запроса, становятся нулевыми, мне нужно, чтобы они оставались такими, как есть.
Я думаю, что это можно исправить, поместив объект в сеанс (через @SessionAttributes), чтобыон должен жить между двумя запросами, но он не работает.
Я посмотрел в справочнике Spring, но не смог найти никакой информации о том, как Spring манипулирует объектами команд.