您的位置:首页 > Web前端 > JavaScript

关于jsp页面的相对路径和绝对路径

2016-06-30 13:54 330 查看
前两天,突然想写个页面,因为好久没有写jsp了,所以格外生疏!首先,最简单的引入的jquery和一些插件的路径就困了我一天;废话不多说,就看下面怎么说:

首先我尝试了../jquery/jquery-1.7.1.min.js用这种方式,毫无疑问这是可以的,但是为了健壮性,我们还是大多愿意用另外的方式;

1.在这个里,我尝试了用添加<base href="

${pageContext.request.scheme }://${pageContext.request.serverName}:${pageContext.request.serverPort}${pageContext.request.contextPath}/">这种相对路径的方法;

然后在<script type="text/javascript" src="jquery/jquery-1.7.1.min.js">;

但紧接着这种方法还是没有在页面被解析成"http://localhost:8080/;后来就在网上搜了一大圈,因为我用的是自己搭的maven工程,jar可能引的不对,所以把servlet和taglibs和jstl相关jar包都加进去了,结果还是不行,必须得在jsp页面顶部填加<%@
page isELIgnored="false" contentType="text/html;charset=UTF-8">才能在页面解析EL表达式;

2.另外一种方法是使用绝对路径,${pageContext.request.contextPath}来实现;如<script type="text/javascript" src="${pageContext.request.contextPath}/jquery/jquery-1.7.1.min.js>这个同样也需要<%@
page isELIgnored="false" contentType="text/html;charset=UTF-8">

3.可以加<%request.setAttribute("ctx",request.getContextPath());">;这种和上面的基本相同,如<script type="text/javascript" src="${ctx}/jquery/jquery-1.7.1.min.js>这个同样也需要<%@
page isELIgnored="false" contentType="text/html;charset=UTF-8">

另外我看了一下,,有网友说要加isELIgnore这个属性是因为servlet的版本太低所以要加这个属性,2.5版本以后就是默认的了.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: