如何使用当前协议,端口,应用程序等在当前服务器上不使用scriptlet(仅EL)构建绝对URL?
答案 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