더북(TheBook)

7.2.1 요청 처리 메서드의 매개변수에 @ModelAttribute 적용

폼 페이지에서 입력된 데이터가 전달되면 @ModelAttribute는 커맨드 객체에 매핑되어 프로퍼티에 데이터를 채우는 역할을 합니다. @ModelAttribute를 컨트롤러 안의 @RequestMapping이 적용된 요청 처리 메서드의 매개변수로 설정하여 사용하며, 형식은 다음과 같습니다.

public String 메서드 이름(@ModelAttribute 매개변수, Model model) {
    // model.addAttribute(...);
    return "뷰"; 
}

※ 제공 패키지: org.springframework.web.bind.annotation

요청 처리 메서드의 매개변수에 @ModelAttribute를 사용하면 폼 페이지에서 입력된 데이터를 자동으로 할당해 주기 때문에 폼 입력 양식의 구문을 개별적으로 분석하지 않아도 됩니다. 또한 요청 처리 메서드의 매개변수인 커맨드 객체 이름도 자유롭게 변경하여 사용할 수 있습니다.

다음은 요청 처리 메서드의 매개변수에 @ModelAttribute를 적용한 예입니다.

폼 페이지에서 전달된 파라미터 값이 @ModelAttribute가 설정된 커맨드 객체 member에 자동으로 할당되고, 해당 커맨드 객체의 프로퍼티 값을 뷰 페이지에 출력합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.