썩구노트

스프링 -@PathVariable를 이용하여 parameter를 url형식으로 받기 본문

Sping

스프링 -@PathVariable를 이용하여 parameter를 url형식으로 받기

양석규 2016. 12. 22. 16:25

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라면 적용하지 말도록 하자

인식을 못하니... ㅎㅎㅎ