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

서현진님의 프로필 이미지

작성한 질문수

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

주문 목록 검색, 취소

orderList() 관련 질문입니다

작성

·

48

0

orderController - orderList()에서 파라미터로 @ModelAttribute("orderSearch") OrderSearch orderSearch를 바인딩하여 전달하는데, 이 orderSearch 객체가 어디서 객체를 가져와서 바인딩되는지 모르겠습니다.

답변 2

0

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

AI인턴의 답변 설명을 참고해주세요 😀

추가로 궁금한 사항은 댓글 남겨주세요.

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다.

서현진님, orderList() 메서드에서 @ModelAttribute(“orderSearch”)를 통해 OrderSearch 객체가 바인딩되는 과정에 대해 설명드리겠습니다.

스프링 MVC에서 @ModelAttribute 애노테이션은 요청 파라미터를 모델 객체로 바인딩하고, 이를 뷰에 전달할 때 사용됩니다. orderList() 메서드의 경우, OrderSearch 객체는 다음과 같은 방식으로 바인딩됩니다:

  1. 클라이언트로부터 요청이 들어오면 스프링은 요청 파라미터를 분석합니다.
  2. 요청 파라미터를 @ModelAttribute가 가리키는 객체(OrderSearch)로 바인딩합니다. 이 과정에서 요청 파라미터의 이름과 OrderSearch 객체의 필드 이름이 매칭됩니다.
  3. 바인딩된 OrderSearch 객체는 @ModelAttribute에 선언된 이름(“orderSearch”)으로 모델에 추가됩니다.
  4. 이 객체는 메서드의 파라미터로 전달되며, 이후 뷰에서 접근할 수 있게 됩니다.

즉, OrderSearch 객체는 클라이언트 요청으로부터 생성되고, 요청 파라미터를 기반으로 자동으로 바인딩됩니다.

해당 부분에 대한 추가 설명이 필요하시거나 다른 질문이 있으시면 언제든지 알려주세요!

출처: 스프링 MVC1 > ClassNotFoundException, NoClassDefFoundError