如何在 JSP 中从 Web 应用程序上下文定义 src 属性



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

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

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

如果我使用绝对网址,例如,

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

然后我正在硬编码 Web 应用程序名称,这又不适合了......

我找到的最佳选择是:

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

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

你得到了你的解决方案:

<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 重写来跟踪会话。

最新更新