JSP에서 현재 경로를 가져오는 것은
JSP스크립트를 사용하는 경우 <%=request.getRequestURL() %>
contextpath 는 <%=request.getContextPath() %> 식으로 가져왔다.
하지만 요즘은 스크립트를 JSP에서 사용하지 않으므로 표현식(el)로 가져와야 한다.
${pageContext.request.requestURL}
${pageContext.request.requestURI}
${pageContext.request.contextPath}
이런식으로 가져오면 된다.
이걸 조합해 보면
${pageContext.request.scheme}://${pageContext.request.serverName}:${pageContext.request.serverPort}${pageContext.request.contextPath}/
이런 결과를 얻을 수도 있다.
<a href="${pageContext.request.contextPath}/a/b/c/d.do">이동할려는 페이지</a>
위와 같은 코딩에서도 콘텍스트패스가 변경되도 JSP 소스를 변경하지 않아도 된다.
물론 이런 경우는 jstl core의 url 을 이용하는게 더 좋다.
<a href="<c:url value="/a/b/c/d.do" />">이동할려는 페이지</a>
한편 MVC모델에서 pageContext.request.requestURL를 이용하여 경로를 가져오는 경우
WEB-INF의 실제 JSP경로를 가져오게 된다.
표현식으로 현재 URL을 가져오고 싶은 경우는
${requestScope["javax.servlet.forward.request_uri"]}
같이 가져오면 된다.
'Java' 카테고리의 다른 글
Java was started but returned exit code=13 - 이클립스 실행시 에러 (0) | 2017.08.25 |
---|---|
자바로 gmail 메일 서버를 이용해서 메일 보내기 (0) | 2017.08.18 |
전자정부프레임워크 sql 쿼리 로그 찍기 (0) | 2017.08.08 |
이클립스 Data Source Explorer 사용하기 - 전자정부프레임워크 (0) | 2017.08.04 |
전자정부표준프레임워크 eGovFrame 통합예제에서 엑셀다운로드 시 페이지없음(404) 에러 (0) | 2017.08.03 |