안녕하세요.
https://blog.naver.com/sysysy0302 여니입니다 :)
@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형식으로 넘어가는 것을 확인할 수 있습니다.
'⋆ 。゜☁︎ 。⋆ 。゜☾゜。⋆⋆ 。゜☁︎ 。⋆ 。゜☾゜。⋆ > Spring' 카테고리의 다른 글
[SpringBoot] 로그설정 - log4j2 (1) | 2023.10.19 |
---|---|
[Springboot] Springboot 프로젝트 생성 및 셋팅하기 (1) | 2023.09.24 |
[Spring] Dispatcher-Servlet이란? 디스패처 서블릿의 개념과 동작 과정 (0) | 2023.08.15 |
[Spring] 스프링에서 parameter(요청시 전달값)을 받는 방법 - 로그인 기능 (1) | 2023.08.13 |
[spring] spring scheduler 스프링 스케줄러란? (스프링 스케줄러 작업순서) (0) | 2023.08.09 |