關於jsp頁面的相對路徑和絕對路徑

前兩天,突然想寫個頁面,因爲好久沒有寫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版本以後就是默認的了.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章