一般从JSP
文件中,可以直接使用${pageContext.request.contextPath}
非常方便的获得当前页面的路径,用来处理被Apache2
代理之后出现URL
变化的问题,比如增加了某些前缀,方便转发,即使是JSP
内嵌的JavaScript
脚本,也是可以如此操作。但是如果是一个独立的JavaScript
文件,通过
1 |
<script src="LinkGame/js/LinkGame.js"></script> |
这样的方式引入,则在JavaScript
文件内部是无法直接调用${pageContext.request.contextPath}
获取前缀的,因为${pageContext.request.contextPath}
是需要JSP
文件处理的变量,而对于独立的JavaScript
文件,默认是不做任何处理的。
因此这个变量只能是通过某个全局变量传递到JavaScript
文件中。
目前比较有效的实现方法是通过设置一个隐藏的文本框的方式来处理。
1 |
<input id="PageContext" type="hidden" value="${pageContext.request.contextPath}" /> |
JavaScript
文件中获取这个变量的方法如下:
1 2 3 |
$(document).ready(function() { var pageContext = g("PageContext").value; }); |