JavaScript中獲取當前專案的絕對路徑
最近在做JavaWeb專案相關的東西,幾乎每天都遇到很多問題,主要是因為自己對JavaWeb方面的知識不是很清楚,儘量把自己在專案中遇到的問題都記錄下來,方便以後查閱。
在我們的專案中有這樣的需要,當在頁面停留時間過長時,自動調回主頁面first.jsp,所以我就寫了個load.js程式碼檔案,然後在每個jsp頁面上都引用它,這樣就出現了問題,因為每個頁面不都是在WebRoot的根目錄下的,有可能是在其子目錄下,如下圖所示:
所以對於每個jsp頁面所跳轉回主頁面first.jsp的路徑就不相同,所以必須要用絕對路徑。(上篇播客中也說了,在JavaWeb專案中儘量使用絕對路徑,因為絕對路徑是肯定不會出現錯誤,而相對路徑如果引用錯誤就會出現問題)
所以在js程式碼中怎麼獲取當前專案的的絕對路徑這個問題就必須解決。
解決方法:
1.可以在每個jsp頁面是寫個隱藏域物件傳回當前頁面的路徑,而這種方法不可取,要改動的頁面較多,代價較大。
2.在load.js中獲取當前專案的絕對路徑,這樣的方法才是可取的。用字串處理來得到。
function getRootPath(){
var currentPagepath=location.href;
var pathName = window.document.location.pathname;
var pos = currentPagepath.indexOf(pathName);
var localhostPath = currentPagepath.substring(0,pos);
var projectName = pathName.substring(0,pathName.substr(1).indexOf("/")+1);
window.location.href=localhostPath+projectName+"/first.jsp";
}
每局程式碼的作用基本是命名上就可以看出。希望對大家有用哈!
相關文章
- 獲取絕對路徑 【檔案找不到】
- 獲取當前js檔案被引用的路徑JS
- Java中的獲取檔案的物理絕對路徑,和讀取檔案Java
- Python如何獲取當前執行檔案路徑?Python
- python獲取指定目錄所有檔案絕對路徑Python
- JavaScript 獲取當前月份JavaScript
- SpringBoot 中獲取專案的路徑和檔案流Spring Boot
- PHP取url絕對路徑PHP
- Linux檔案的路徑定位-相對路徑和絕對路徑Linux
- Linux Shell獲取正在執行指令碼的絕對路徑Linux指令碼
- java獲取專案路徑工具類Java
- FileUpload 上傳的檔案獲取相對路徑
- win10怎麼獲取當前目錄_win10系統如何快速獲取檔案路徑Win10
- js-----時間格式化、獲取當前網頁路徑JS網頁
- 絕對路徑和相對路徑的區別,
- Java 最佳化:讀取配置檔案 "萬能方式" 跨平臺,動態獲取檔案的絕對路徑Java
- HTML絕對路徑與相對路徑HTML
- Flutter獲取當前網路型別Flutter型別
- 最最基礎的乾貨:Linux中的絕對路徑和相對路徑Linux
- JavaWeb中讀取【專案路徑下檔案】的路徑問題:this.getServletContext().getRealPath()JavaWebServletContext
- Linux中絕對路徑和相對路徑有什麼區別?Linux
- Linux檢視程式檔案絕對路徑Linux
- java配置檔案設定絕對路徑Java
- JavaScript怎麼獲取當前時間的年月日?JavaScript
- 深入解析Java絕對路徑與相對路徑Java
- 05_Linux相對路徑和絕對路徑Linux
- C#.net 獲取當前應用程式所在路徑及環境變數C#變數
- linux獲取docker容器中的檔案路徑怎麼表示LinuxDocker
- html中想把圖片絕對路徑 改成相對路徑怎麼操作?HTML
- 獲取當前時間
- Java中獲取JAR檔案中資源路徑的三種方法JavaJAR
- nodejs路徑處理方法和絕對路徑NodeJS
- php 獲取當前域名和當前協議PHP協議
- python如何將相對路徑轉換為絕對路徑?Python
- Unity 編輯器中獲取選中的資料夾、檔案路徑Unity
- 獲取當前頁面的topViewControllerViewController
- Java獲取當前星期幾Java
- mybatis獲取當前時間MyBatis
- Flutter 小知識,Key的使用(獲取當前點選Widget位置/獲取當前Widget大小)Flutter