在做项目中,原本使用的是JSP页面,其中,里面有用到${pageContext.request.contextPath}来获取项目的上下文路径。但是,后来考虑到JSP页面初次访问的时候会转换为Servlet,这样就降低了页面的访问速度,于是就考虑使用HTML页面来替代JSP。
替代完成后,通过链接访问HTML页面的时候,会出现“No Mapping Found For URI......”的错误,在控制台可以看到,${pageContext.request.contextPath}原样显示在路径中,并没有获取到项目的真实路径。
后来突然想起来${pageContext.request.contextPath}只适用于JSP 页面,而HTML无法识别,因此,就想到了在HTML中使用js来获取路径,最终使用下面的代码实现了功能。
function getContextPath(){
var pathName = document.location.pathname;
var index = pathName.substr(1).indexOf("/");
var result = pathName.substr(0,index+1);
return result;
}