Spring MVC 상에서 request.getRequestURI() 함수를 사용할 때 Controller 단에서는 제대로된 주소가 나온다. 하지만 jsp view 페이지에서는 /WEB-INF/views/.. 경로가 나오게 된다. 이는 Spring 에서 forward 하기 때문인데 jsp 페이지에서 다음과 같은 el 코드를 통해 사용할 수 있다.
request.getAttribute("javax.servlet.forward.servlet\_path");
아래는 jstl el 문법이다.
${requestScope\['javax.servlet.forward.servlet\_path'\]}
servlet 2.4 이상 버전에서 이와 같이 사용할 수 있는 속성은 다음과 같은 것들이 있다.
sample 요청 URL: http://localhost:9090/mani-examples/jsp/Forwarder.jsp?name=Mani
현재 URL 정보 출력
javax.servlet.forward.request_uri = /mani-examples/jsp/Forwarder.jsp
javax.servlet.forward.servlet_path = /jsp/Forwarder.jsp
javax.servlet.forward.context_path = /mani-examples
javax.servlet.forward.path_info = null
javax.servlet.forward.query_string = name=Mani
Tiles 정보 출력
javax.servlet.include.request_uri = /mani-examples/jsp/Included.jsp
javax.servlet.include.servlet_path = /jsp/Included.jsp
javax.servlet.include.context_path = /mani-examples
javax.servlet.include.path_info = null
javax.servlet.include.query_string = null
'개발자의 정보 > Java & framework' 카테고리의 다른 글
Java에서 Jackson 사용중 JSON data에 특정 field 제외 하거나 포함하기 (0) | 2020.02.13 |
---|---|
Simplified sorting in List (0) | 2020.02.12 |
데이터 변경 알림 - @EntityListeners (0) | 2020.02.11 |
자바로 파일 인코딩 확인하기 - Check the file encoding in Java language (1) | 2020.02.01 |
Spring framework Page<T> 와 DataTables.js 연동 (0) | 2020.02.01 |
Spring @Controller 에서 파라미터로 배열 받기 (2) | 2020.02.01 |
[spring-boot-data-rest] How to expose IDs for all (0) | 2020.02.01 |
[spring-boot-starter-data-jpa] with java1.6 (0) | 2020.02.01 |
댓글