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

ten님의 프로필 이미지

작성한 질문수

스프링 프레임워크는 내 손에 [스프2탄]

@Modelattribute와 Requestparam의 생략

해결된 질문

23.04.30 17:27 작성

·

643

0

강의를 듣다가 헷갈리는 부분이 생겨서 질의합니다..!!!

1.68번 라인의 Board vo, Vriteria cri가 각각 @Modelattribute가 생략 처리가 된게 맞을까요?

2.93번 라인의 int idx는 @RequestParm이 생략처리가 된것인지 궁금합니다.

감사합니다 : )

답변 2

0

박매일님의 프로필 이미지
박매일
지식공유자

2023. 04. 30. 20:38

클라이언트에서 전달되는 파라메터이름에(Board vo, Critical cri) 받는쪽 매개변수의 멤버변수의 이름이 동일하면 자동으로 setter메서드가 호출되서 값이 담아진다고 보시면됩니다. 여기에 저장된 (Board vo, Critical cri) 값을 jsp에서 받고자 할때는 @ModelAttribute("cri") Criteria cri를 사용하여 객체바인딩을 통해서 받으면되는데 스프링버전이 올라가면 cri변수가 같으면 @ModelAttribute("cri")를 생략 할 수 있습니다. 이부분을 정확히 집어주지 못한듯합니다. 말씀하신것처럼 생략해되됨을 다시 정정해서 알려드립니다^^

ten님의 프로필 이미지
ten
질문자

2023. 04. 30. 20:59

매번 질문을 여러번 드리는듯하네요...
늘 감사드립니다 : )

0

박매일님의 프로필 이미지
박매일
지식공유자

2023. 04. 30. 18:42

아~ 생략된게 아니라 꼭 필요하면 작성을 해야됩니다. @ModelAttribute("cri") Criteria cri 처럼 적어야 jsp에서 ${cri} 이렇게 EL로 접근할 수가 있습니다. @RequestParam("idx") int idx는 클라이언트에서 넘어온 파라메터(idx)와 매개변수(idx)의 이름이 같을 경우에는 생략이 가능하기에 이부분은 @RequestParam("idx")가 생략이 되었다고 봐도 되겠습니다.^^

ten님의 프로필 이미지
ten
질문자

2023. 04. 30. 19:36

그럼 해당 경우에는 modelattribute로 쓰이고 있는게 아닌건가요?? 아니라면 어떤 의미로 들고온건지 궁금합니다

ten님의 프로필 이미지
ten
질문자

2023. 04. 30. 19:44

imagemodelattribute를 안쓰더라도 int 같은 단순 타입이 아니면 자동으로 modelattribute를 작성해주는걸로 알고 있는데 위의 경우도 그런 예시가 아닌가 싶은데... 좀 혼동이오네요 ㅠㅠ!!!!

ten님의 프로필 이미지

작성한 질문수

질문하기