前两天,突然想写个页面,因为好久没有写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版本以后就是默认的了.