천발무금
976
2017-06-05 13:15:34
4
1034

스프링 @RequestParam 문의드립니다!!ㅎㅎ


jsp에서 form이나, 스트링쿼리를 이용해 직접 데이터를 보낼 때 보통


@RequestParam 을 통해 받으라고 배웠습니다 ㅎㅎ

배운내용 : public void modifyPOST(@RequestParam("bno") int bno)


그런데 실제로는 @RequestParam을 작성하지 않고


public void modifyPOST(int bno) 등으로 받아도 잘 받아지는데


@RequestParam을 작성한 경우와 작성하지 않은 경우의 차이점이 궁금하여 문의드립니다 ^^


jsp에서 컨트롤러로 보낸 "키"값 매칭을 위해서 써주는 목적인가 싶어서요! ㅎㅎㅎㅎ

0
  • 답변 4

  • Mambo
    5k
    2017-06-05 14:13:26 작성 2017-06-05 14:13:59 수정됨

    @RequestParam을 명시하면서 가져오는 이점은 bno라는 변수명을 고치지 않더라도 파라미터로 들어오는 값을 매칭시킬 수 있습니다.

    위 경우에는 변수명과 동일하게 하셨지만

    ?&board_no=5라고 왔을때

    @RequestParam(value="board_no") int bno

    로 매칭시킬 수 있습니다.


    -

    다른 이유도 찾으셔가지고 공유해주시면 좋겠습니다.

  • 천발무금
    976
    2017-06-05 14:57:31

    KDEV님 답변 감사합니다!!


    혹시 ?&board_no=5라고 왔을때


    public void modifyPOST(int bno)


    이렇게 @RequestParam이 없어도 값을 잘 받아오는데, 이 경우에 @RequestParam이 있는 것과 없는 것이 어떤 차이일까요? ㅜ.ㅜ

  • Mambo
    5k
    2017-06-05 15:14:57

    아마 int형식으로 유추해서 바인딩하지 않았을까요? 파라미터의 값으로 주어지는게 한개니까요

  • 쏭성
    81
    2017-06-05 15:35:41

    int값이 두 개 이상 넘어왔을 때,

    value로 mapping시킬 수 있고,

    @RequestParam 설정시 required 속성 적용 및 default값을 설정 할 수 있어서

    그런것 아닐까요?

  • 로그인을 하시면 답변을 등록할 수 있습니다.