用EL获取绝对URL

时间:2011-04-18 14:51:18

标签: java jsp el

如何使用当前协议,端口,应用程序等在当前服务器上不使用scriptlet(仅EL)构建绝对URL?

2 个答案:

答案 0 :(得分:25)

您可以在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>

答案 1 :(得分:5)

另一种方式是:

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