Если вы не хотите хранить свойства в полях hidden
, вы можете сохранить свой объект в сеансе.В Spring 3 это можно сделать декларативно с пометкой @SessionAttribute
:
@Controller @RequestMapping("/editBar")
// Specifiy the name of the model attribute to be stored in the session
@SessionAttribute("bar")
public class BarController {
@RequestMapping(method = GET)
public String form(Map<String, Object> model) {
model.put("bar", ...);
...
}
@RequestMapping(method = POST)
public String submit(@ModelAttribute("bar") Bar bar, BindingResult errors,
SessionStatus status) {
if (!errors.hasErrors()) {
status.setComplete(); // Clear the session after successful submit
...
} ...
}
}