js文件中获取${pageContext.request.contextPath}

一般从JSP文件中,可以直接使用${pageContext.request.contextPath}非常方便的获得当前页面的路径,用来处理被Apache2代理之后出现URL变化的问题,比如增加了某些前缀,方便转发,即使是JSP内嵌的JavaScript脚本,也是可以如此操作。但是如果是一个独立的JavaScript文件,通过

<script src="LinkGame/js/LinkGame.js"></script>

这样的方式引入,则在JavaScript文件内部是无法直接调用${pageContext.request.contextPath}获取前缀的,因为${pageContext.request.contextPath}是需要JSP文件处理的变量,而对于独立的JavaScript文件,默认是不做任何处理的。

因此这个变量只能是通过某个全局变量传递到JavaScript文件中。
目前比较有效的实现方法是通过设置一个隐藏的文本框的方式来处理。

<input id="PageContext" type="hidden" value="${pageContext.request.contextPath}" />

JavaScript文件中获取这个变量的方法如下:

$(document).ready(function() {
    var pageContext = g("PageContext").value;
});

发布者

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注