參考:
在jsp中可以通過 request.getcontextpath() 來獲取上下文的路徑,在freemarker中也可以通過 $ 獲取上下文路徑,但是在js中卻無法直接使用這些方式。
在js中獲取contextpath路徑的方法
方法一:
在jsp頁面中寫上這麼一段**:var $ctx = '<%=request.getcontextpath()%>';
然後在下方加上其他js檔案的引用:
$base 這個變數就能在其他js檔案中使用。
function c()
缺點:要寫乙個額外的script標籤。
方法二:
在被引用的js後面新增乙個引數,將上下文路徑傳進去,然後在js**中解析這個引數,得到上下文路徑:
然後在mine.js中開頭寫上這麼一句話:
var js=document.scripts;
var url=js[js.length-1].src;
var $ctx=getquerystring(url,'ctx');
function getquerystring(url,name)
這裡面乙個非常重要的一點在於,如果頁面中有很多js引用,而mine.js無論插在開頭還是末尾亦或中間,var url=js[js.length-1].src;這一行**都能獲取到mine.js自身的url,這樣var ctx=$ctx;這一行**都能獲取到mine.js自身的$ctx。
這其中的原因大致就是js從上到下解釋執行模式所帶來的乙個小福利了。
方法三:
使用 / 直接對url進行解析
function getcontextpath()
或者
//js獲取專案根路徑,如: http://localhost:8083/uimcardprj
function getrootpath()
這兩段**大同小異,都是用 / 對url進行分割,然後獲取網域名稱之後的第乙個路徑。這樣做有個問題,如果上下文路徑是 / 或者多層路徑,那解析出來的就是錯誤的,所以不推薦使用。 js獲取 mysql 屬性 JS中獲取資料庫中的值
在本次專案中,遇到很多問題,經過努力,都逐步得到解決。靜下心來,做乙個記錄,以供以後學習。在專案中遇到乙個問題,需要在js中讀取資料庫中的值,然後再把值返回到頁面中,解決方案如下 使用ajax方法來實現,需要用到ajax.dll 乙個ajax技術開發的幫助類庫 實施過程如下 1 引用ajax.dll...
js中獲取日期格式
1 varmydate new date 2document.write mydate.getyear tostring 獲取當前年份 2位 3document.write mydate.getfullyear tostring 獲取完整的年份 4位,1970 4document.write myd...
js中如何獲取時間
var mydate new date mydate.getyear 獲取當前年份 2位 mydate.getfullyear 獲取完整的年份 4位,1970 mydate.getmonth 獲取當前月份 0 11,0代表1月 mydate.getdate 獲取當前日 1 31 mydate.get...