사이트의 기본 URL 얻기 위해 다음과 같이 JSTL을 사용할 수
이
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<c:set var="req" value="${pageContext.request}" />
<c:set var="url">${req.requestURL}</c:set>
<c:set var="base" value="${fn:substring(url, 0, fn:length(url) - fn:length(req.requestURI))}${req.contextPath}/" />
...
합니다 (req
는 위의 예에서 HttpServletRequest
의 현재 인스턴스에 단지 속기는 <c:set var="url">
라인은 기본적으로 StringBuffer
변환을 HttpServletRequest#getRequestURL()
에서 String
으로 반환되어 문자열 함수에서 사용할 수 있습니다.
다음과 같이 링크를 만들 수 있습니다.
<a href="${base}example.jsp">${base}example.jsp</a>
아니면, 그것에 문서 상대의 모든 상대 링크 만드는 HTML <base>
태그를 사용하는 경우 :
이
<head>
<base href="${base}" />
</head>
<body>
<a href="example.jsp">${base}example.jsp</a>
</body>
이 그럼 그냥 그렇게를? 당신의 질문은 정확히 무엇입니까? 호스트 이름, 포트 및/또는 컨텍스트 이름 등을 동적으로 얻는 방법은 무엇입니까? – BalusC
그래, 나는 이것을 동적으로 할 수 있어야한다. 내 질문을 편집했습니다 – user906153
프로젝트가 서버에로드되면 /example.jsp에 대한 올바른 전체 URL을 얻을 수 있습니다. – user906153