반응형
250x250
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

Yeonee's Story

[Spring] @RequestParam을 이용한 값 받아오기 본문

⋆ 。゜☁︎ 。⋆ 。゜☾゜。⋆⋆ 。゜☁︎ 。⋆ 。゜☾゜。⋆/Spring

[Spring] @RequestParam을 이용한 값 받아오기

yeonee 여니 2023. 8. 15. 22:42
728x90
반응형
SMALL

안녕하세요.
https://blog.naver.com/sysysy0302 여니입니다 :)

 

yeonee 블로그 : 네이버 블로그

예쁘고 맛있게 먹고 건강하게,강인하지만 온화하게 행하라. ※맛스타운스타일상 인스타 www.instagram.com/s2._.y25n ※맛집감성일상 유튜브https://youtube.com/channel/@S2_yeonee 티스토리https://yeoneeluv.tistory.co

blog.naver.com

 

 

@RequestParam을 이용한 값 받아오기 

@RequestParam 어노테이션은 HttpServletRequest 객체와 같은 역할을 한다.

 

HttpServletRequest에서는 getParameter() 메소드를 이용했지만,

@RequestParam을 이용하여 받아오는 방법도 있습니다.

 

메소드의 파라미터값으로 @RequestParam을 넣어주면 됩니다.

아래 예시 코드를 통해 알아보도록 하죠.

 

<boardController>

@GetMapping("/list/{boardCode}")
public String selectList(
        @PathVariable("boardCode") String boardCode,
        //@PathVariable("key") : URL경로에 포함되어 있는 값을 변수로 사용할수 있게 해주는 어노테이션
        //						 + 자동으로 requestScope에 저장이된다.
        @RequestParam(value="currentPage", defaultValue="1") int currentPage,
        Model model,
        //검색요청이 들어오는 경우 paramMap내부에는 keyword, condition
        @RequestParam Map<String, Object> paramMap
        ) {


    // 검색 기능 추가
    // 페이징바
    // 게시글 목록
    log.info("paramMap = {}",paramMap); //; 검색 : get방식으로 keyword검색받은 것이 key=value값 형태로 받아온 것. 어떤 데이터 들어있는지 확인 
    paramMap.put("boardCode", boardCode);
    List<Board> list = boardService.selectList(currentPage, paramMap);

    // 총 게시글 갯수
    int total = boardService.selectListCount(paramMap);
    //int total = boardService.selectListCount(boardCode);
    int pageLimit = 10;
    int boardLimit = 5;
    PageInfo pi = Pagination.getPageInfo(total, currentPage, pageLimit, boardLimit);

    model.addAttribute("paramMap", paramMap);
    model.addAttribute("list", list);
    model.addAttribute("pi", pi);

    return "board/boardListView";
}

복잡해 보일 수 있지만 상단 매개변수로 넣어주는 부분만 살펴보도록 하죠.
@RequestParam(value="currentPage", defaultValue="1") int currentPage 에서 defaultValue값을 줄 수도 있습니다.
@RequestParam Map<String, Object> paramMap 에서도 @RequestParam() 어노테이션을 넣어서 값을 받아옵니다.

 

@RequestParam("가져올 데이터의 이름") [데이터타입][가져올 데이터를 담을 변수]

위와 같은 형식으로 @RequestParam 을 사용합니다.

제네릭 형식이 아닌 코드의 예로는
@RequestParam ("id") String id 혹은 @RequestParam ("pwd") String pwd 처럼 쓸 수 있습니다.

 

 

그리고 Model 객체를 이용하여, 뷰로 값을 넘겨줍니다.
그리고 서버를 켜서 실행해보면,
도메인 주소창을 확인하면 내가 입력한 값을 확인 할 수 있고, 도메인 주소창에 내가 입력한 값이 key=value형식으로 넘어가는 것을 확인할 수 있습니다.

728x90
반응형
LIST