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

如何在JSP中从web应用程序上下文定义src属性,jsp,absolute-path,contextpath,Jsp,Absolute Path,Contextpath,我想在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"></sc

我想在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>

然后我硬编码的web应用程序名称,这是不适合再次

我发现最好的选择是:

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

但是,它只适用于href属性,如

您得到了您的解决方案:

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

是的,我可以使用第一个解决方案,但我肯定更喜欢使用您提供的JSTL的第二个解决方案。我只是在找那样的东西。谢谢