인프런 커뮤니티 질문&답변

taeu kim님의 프로필 이미지

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

회원 등록

MemberForm을 사용하는 이유가 무엇인가요?

22.08.26 20:42 작성

·

510

3

@GetMapping("/members/new")
public String createForm(Model model){
    model.addAttribute("memberForm", new MemberForm());
    return "members/createMemberForm";
}

  1. model.addAttribute를 사용하지 않고 일단 createMemberForm.html로 간 뒤에 form post로 데이터를 넘기면

@PostMapping("/members/new") 컨트롤러가 비즈니스로직을 수행하면 되는 것 아닌가요?

  1. createMemberForm이라는 html에 new MemberForm()으로 객체를 넘길 수 있는 내부적인 원리가 궁금합니다.

답변 1

3

OMG님의 프로필 이미지

2022. 08. 26. 20:59

안녕하세요. taeu kim님, 공식 서포터즈 OMG입니다.

model.addAttribute("memberForm", new MemberForm());

를 작성하는 이유는 아래와 같습니다. 해당 코드를 삭제하고 실행 시 에러가 발생합니다.

(코드와 같이 new로 생성한 빈 객체라도 넘겨야 오류가 발생하지 않습니다.)

직접 확인하여 어떤 에러가 발생하는지 확인해보시면 좋을 것 같아요,.
image

1번의 기능을 위해 타임리프와 스프링MVC에서 제공합니다.

스프링MVC에서 Model의 동작원리는 영한님의 MVC1편-Model 추가 - v3 를 참고해주세요.


감사합니다.

taeu kim님의 프로필 이미지

작성한 질문수

질문하기