получить абсолютный URL с помощью EL - PullRequest
10 голосов
/ 18 апреля 2011

Как создать абсолютный URL-адрес, не используя скриптлеты (только EL) для текущего сервера, используя текущий протокол, порт, приложение и т. Д.

Ответы [ 2 ]

25 голосов
/ 18 апреля 2011

Вы можете получить базовый 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="baseURL" value="${fn:replace(pageContext.request.requestURL, pageContext.request.requestURI, pageContext.request.contextPath)}" />
...
<link rel="stylesheet" href="${baseURL}/foo.css" />
<script src="${baseURL}/foo.js"></script>
<a href="${baseURL}/foo.jsp">link</a>
5 голосов
/ 12 мая 2011

Другой способ:

http://${pageContext.request.serverName}:${pageContext.request.serverPort}${pageContext.request.contextPath}/thePage.jsp
...