경로변수
path variable 이며, 요청 경로를 동적으로 표현이 가능한 경로 패턴으로 지정할 수 있습니다.
URL 경로 상의 변하는 값을 경로 변수로 취급하여 경로 변수에 해당하는 값을 파라미터 변수에 설정할 수 있습니다.
간단하게 사용법을 말하자면 URL 경로에 중괄호 { } 안쪽에 변수를 담고, 그 변수를 @PathVariable(" ") 로 받아서 사용할 수 있습니다.
기본 사용법
요청 : http://localhost:8080/member/detail/123
JSP
<a href = "/member/detail/${memberVO.memberid}">...
Controller
@RequestMapping("/detail/{memberid}")
public String detail(@PathVariable String memberid) {
//...
}
변수명을 다르게 설정
PathVariable 과 다른 변수명을 사용하려면 @PathVariable("memberid") 로 URL 의 Path-Variable 와 이름을 맞춰주고,
메서드에서 사용할 변수명을 다르게 설정할 수 있습니다.
@RequestMapping("/detail/{memberid}")
public String detail(@PathVariable("memberid") String id) {
//...
}
다중 사용
만약 여러개의 PathVariable 을 사용하고 싶다면 @PathVariable 을 여러번 사용해 주시면 됩니다.
@RequestMapping("/detail/{memberid}/{memberName}")
public String detail(@PathVariable String memberid, @PathVariable String memberName) {
//...
}
필수속성
Spring 4.3.3 에서부터 @PathVariable 어노테이션은 경로 변수가 핸들러 메소드에 필수인지 여부를 표시하는 데 필요한 속성을 정의할 수 있습니다.
즉 쉽게 말하자면 경로변수에 값이 없더라도 오류를 보내지 않고 특정 조건에 따라 다른 동작을 할 수 있게 도와줍니다.
@RequestMapping("/detail", "/detail/{memberid}")
public String detail(@PathVariable(required = false) String memberid) {
if(memberid != null) {
//...
} else {
//...
}
}
'Spring' 카테고리의 다른 글
Spring 웹 애플리케이션 계층구조 (0) | 2024.12.23 |
---|---|
Spring - @Value (2) | 2024.12.20 |
Spring Bean 을 등록하는 3가지 방법 (1) | 2024.12.19 |
스프링 빈(Bean) 이란? (1) | 2024.12.16 |
[Spring MVC] - QueryString (0) | 2024.12.12 |