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

ten님의 프로필 이미지
ten

작성한 질문수

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

@Modelattribute와 Requestparam의 생략

해결된 질문

작성

·

668

0

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

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

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

감사합니다 : )

답변 2

0

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

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

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

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

0

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

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

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

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

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

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

ten님의 프로필 이미지
ten

작성한 질문수

질문하기