2013-06-12 2 views
2

는 컨트롤러의 방법은 BindingResult 객체에 대해 알고 않는 방법 봄 BindingResult는 MVC 컨트롤러 방법에

@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(); 
} 

예를

에 대한 코드의이 부분을 가지고? 그 객체는 어디에서 초기화되고 메서드에 전달됩니까?

답변

4

컨트롤러 메소드에 전달 된 모든 매개 변수는 spring-mvc 디스패처 서블릿에 의해 초기화되고 채워집니다.

User 개체는 바인더 (DataBinder 구현)에 의해 인스턴스화되고 요청 매개 변수에 매핑됩니다. 문제가 있으면 BindingResult에 이러한 문제에 대한 정보가 가득 찼고 메서드로 전달됩니다.

+0

감사합니다. HttpServletRequest 및 HttpServletResponse와 동일한 BindingResult가 적용됩니다. – lolotron