예를 들어 웹 요청 URL이 http://.../member이면 Example01Controller 컨트롤러의 요청 처리 메서드 showForm()으로 webpage07_01.jsp 파일을 출력합니다. 해당 폼 페이지의 항목에 데이터를 입력한 후 [가입하기] 버튼을 누르면 POST 방식으로 전송하므로 Example02Controller 컨트롤러의 @PostMapping("/member")로 매핑되어 요청 처리 메서드 submitForm()으로 webpage07_02.jsp 파일을 출력합니다.
▲ 그림 7-5 실행 결과
스프링 MVC는 @ModelAttribute와 관계없이 데이터 바인딩과 커맨드 객체에 데이터를 담는 일을 처리하므로 앞 예제의 submitForm() 메서드를 다음과 같이 작성해도 동일한 결과를 얻을 수 있습니다.
@ModelAttribute를 사용하지 않은 경우
@PostMapping("/member")
public String submitForm(Member member, Model model) {
...
model.addAttribute("member", member);
return "webpage07_submit";
}