7.2.1 요청 처리 메서드의 매개변수에 @ModelAttribute 적용
폼 페이지에서 입력된 데이터가 전달되면 @ModelAttribute는 커맨드 객체에 매핑되어 프로퍼티에 데이터를 채우는 역할을 합니다. @ModelAttribute를 컨트롤러 안의 @RequestMapping이 적용된 요청 처리 메서드의 매개변수로 설정하여 사용하며, 형식은 다음과 같습니다.
public String 메서드 이름(@ModelAttribute 매개변수, Model model) {
// model.addAttribute(...);
return "뷰";
}
※ 제공 패키지: org.springframework.web.bind.annotation
요청 처리 메서드의 매개변수에 @ModelAttribute를 사용하면 폼 페이지에서 입력된 데이터를 자동으로 할당해 주기 때문에 폼 입력 양식의 구문을 개별적으로 분석하지 않아도 됩니다. 또한 요청 처리 메서드의 매개변수인 커맨드 객체 이름도 자유롭게 변경하여 사용할 수 있습니다.
다음은 요청 처리 메서드의 매개변수에 @ModelAttribute를 적용한 예입니다.
폼 페이지에서 전달된 파라미터 값이 @ModelAttribute가 설정된 커맨드 객체 member에 자동으로 할당되고, 해당 커맨드 객체의 프로퍼티 값을 뷰 페이지에 출력합니다.