这是在很久之前遇到的一个错误。
错误分析
Spring规定:Errors接口或者BindingResult对象应该刚好紧跟在@ModelAttribute声明的对象后面,这样程序才能正确的完成绑定。
解决方法
如上所述,将BindingResult对象放在@ModelAttribute声明的对象后面。
@PostMapping(value = "/book/")
public String addBook(@ModelAttribute("userForm") Book book,BindingResult results, Model model) {
//@TODO
}