3

我想在 src 属性中使用绝对路径,同时在 JSP 中包含 Javascript 和 CSS 文件。

使用相对 URL 不符合我的目的,类似于下面的:

<script type="text/javascript" src="../js/jquery-1.6.4.min.js"></script>

如果我使用绝对 URL,

<script type="text/javascript" src="/appName/js/jquery-1.6.4.min.js"></script>

然后我又硬编码了不合适的网络应用程序名称......

我发现的最佳选择是:

<base href="${pageContext.request.contextPath}"  />

但是,它只适用于 href 属性,如<a href="home.jsp" />

4

1 回答 1

6

你得到了你的解决方案:

<script src="${pageContext.request.contextPath}/js/jquery.js"></script>
<a href="${pageContext.request.contextPath}/home.jsp">Home</a>

或者,使用 JSTL:

<script src="<c:url value="/js/jquery.js"/>"></script>
<a href="<c:url value="/home.jsp"/>">Home</a>

JSTL 标记还有一个额外的优势,即如果禁用 cookie,它还会将会话 ID 添加到 URL,以便使用 URL 重写来跟踪会话。

于 2012-07-04T10:19:05.737 回答