spring 3 이후부터 지원이 되는 기능이다.
본인이 주로 쓰는 경우에는 특정 parameter값을 페이지 전환하면서 유지를 해야 할 경우이다.
예를들어
상단 메뉴를 누르고 메뉴의 focus를 유지하고자 할경우 보통
http://URL?gnb=board
형식으로 주면서 특정 메뉴의 모든 페이지에 gnb=board라는 값이 따라붙게 된다.
위와같은 url을 PathVariable 어노테이션을 사용하게 된다면
http://URL/board
와 같은 식으로 변경이 가능하다
물론 URL 뒤에만 붙이는건 아니고 URL 중간에 접목도 가능하다.
예를 들도록 해보자
1) 일반 GET방식으로 서버에서 값 확인하기
* JAVA 샘플코드
@RequestMapping("/test") public void test(HttpServletRequest request){ System.out.println("================"); System.out.println("get방식 parameter 값:"+request.getParameter("menu")); System.out.println("================"); }
* 호출화면 + 콘솔값
2) @PathVariable 이용하여 서버에서 값 확인하기
* JAVA 샘플코드
@RequestMapping("/test/{menu}") public void test(@PathVariable String menu){ System.out.println("================"); System.out.println("get방식 parameter 값:"+menu); System.out.println("================"); }
* 호출화면 + 콘솔값
결과는 동일...
어떤가 PathVariable 어노테이션을 적용한게 좀 더 깔끔해 보이지 않는가~~
결과값은 똑같고 PathVariable 는 하나 그이상도 가능하다.
다만 주의할점은 null이나 공백값이 들어가는 parameter라면 적용하지 말도록 하자
인식을 못하니... ㅎㅎㅎ
도움이 되셨다면 공감클릭! 궁금하신점은 댓글!!
스프링3(Spring3) - RedirectAttributes를 이용하여 리다이렉트 POST 방식으로 데이터 전송하기 (0) | 2014.07.30 |
---|---|
스프링3(Spring3) - @ResponseBody + jackson을 이용하여 심플하게 JSON 구현하기 (0) | 2014.07.30 |
스프링3(Spring3) - 인터셉터(interceptor) 설정 (4) | 2014.07.28 |
스프링3(Spring3) - SQL 쿼리 출력을 위한 로그레벨 설정 (0) | 2014.07.27 |
스프링3(Spring3) - 리소스(resource file) 및 favicon.ico 설정 (0) | 2014.07.25 |