2

以这部分代码为例

@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 对象?该对象在哪里初始化并传递给方法?

4

1 回答 1

4

传递给控制器​​方法的所有参数都由 spring-mvc 调度程序 servlet 初始化和填充。

User对象由绑定器(DataBinder实现)实例化并映射到请求参数。如果有问题,BindingResult则填充有关这些问题的信息并传递给您的方法。

于 2013-06-12T09:09:12.277 回答