以此部分代码为例
@RequestMapping(method=RequestMethod.POST)
public String addUserFromForm(@Valid User user, BindingResult bindingResult){
if(bindingResult.hasErrors()){
return "users/edit";
}
userService.saveUser(user);
return "redirect:/users/"+user.getName();
}
控制器的方法如何知道BindingResult对象?该对象初始化并传递给方法的位置在哪里?
答案 0 :(得分:4)
传递给控制器方法的所有参数都由spring-mvc调度程序servlet初始化并填充。
User
对象被实例化并通过绑定器(DataBinder
实现)映射到请求参数。如果有问题,BindingResult
会填写有关这些问题的信息并传递给您的方法。