正确的方法,在我的脑海里,尤其是在乐观并发控制(@版本)打交道时是暂时存放在会话中的模型属性。
@Controller
@SessionAttributes("x")
public class MyController {
@Autowired
private XRepository xRepository;
@InitBinder
void initBinder(WebDataBinder binder) {
binder.setDisallowedFields("id", "c", "d");
}
@RequestMapping("/x/{id}")
String myForm(@PathVariable("id") long id, Model model) {
X x = xRepository.findOne(id);
model.addAttribute("x", x);
return "x-edit";
}
@RequestMapping(value="/x/{id}", method= RequestMethod.POST)
String save(@PathVariable("id") long id, @ModelAttribute X x, SessionStatus sessionStatus) {
xRepository.save(x);
sessionStatus.setComplete();
return "x-edit";
}
}
使用闪光灯属性:http://stackoverflow.com/questions/11763779/how-to-read-flash-attributes-after-redirection-in-spring-mvc-3-1/31017551#31017551 – logixplayer 2015-06-24 05:29:24