MVC控制器方法中的java Spring绑定结果
以这部分代码为例
@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对象?该对象在哪里初始化并传递给该方法
# 1 楼答案
传递给控制器方法的所有参数都由spring mvc dispatcher servlet初始化和填充
User
对象由绑定器(DataBinder
实现)实例化并映射到请求参数。如果有问题,BindingResult
将填充有关这些问题的信息并传递给您的方法