zoukankan      html  css  js  c++  java
  • 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";
    		   }

    每局代码的作用基本是命名上就能够看出。希望对大家实用哈!

  • 相关阅读:
    MyBatis学习(五)resultMap测试
    MyBatis学习(四)XML配置文件之SQL映射的XML文件
    Mybatis学习(三)XML配置文件之mybatis-config.xml
    每次回顾,总会有一点小收获!
    php数组去重、魔术方法、redis常用数据结构及应用场景
    MySQL使用可重复读作为默认隔离级别的原因
    后端程序猿标配之linux命令
    常用字符串函数
    nginx配置隐藏index.php
    MySQL的sql_mode解析与设置
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4255349.html
Copyright © 2011-2022 走看看