隨筆-22  評論-8  文章-0  trackbacks-0

          jsp或html頁面引用外部.css或.js文件時,注意路勁問題,如果設置不當,會引用不到這些外部的文件
          假設使用下面的目錄結構:

          -webapp 
          |-MyProject  目錄 
           |--WebContent 目錄
            |---scripts 目錄
             ---dtree.js 文件
            |---styles 目錄
             ---main.css 文件 
            |---pages 目錄
             ---test.jsp 文件
           
          現在例如要在test.jsp中引用scripts目錄下的dtree.js和styles目錄下的main.css
           
          有如下幾種方法:
           
          1.使用相對于jsp頁面的相對路徑
          Html代碼 [url=http://javatechnology.javaeye.com/blog/577469#][/url]
          1. <link type="text/css" rel="stylesheet" href="../styles/main.css" />  
          2. <script type="text/javascript" src="../scripts/dtree.js"></script>  
          <link type="text/css" rel="stylesheet" href="../styles/main.css" /><script type="text/javascript" src="../scripts/dtree.js"></script>
            
          這樣在頁面使用http://localhost:8080/MyProject/test.jsp訪問test.jsp時就可以引用到dtree.js和main.css。
           
          2.使用相對于Web工程的相對路徑
          對于1中的相對使用相對于于jsp頁面的相對路徑的這種方式,如果我們是設置action跳轉到test.jsp頁面,那么這種使用相對路徑的方式就引用不到了。
          例如我們當訪問http://localhost:8080/MyProject/main.do的時候,頁面跳轉到test.jsp頁面,如果使用方法1,就引用不到了。
          這個時候我們可以使用相對于Web工程的相對路徑來引用: 
          Html代碼 [url=http://javatechnology.javaeye.com/blog/577469#][/url]
          1. <link type="text/css" rel="stylesheet" href="styles/main.css" />  
          2. <script type="text/javascript" src="scripts/dtree.js"></script>  
          <link type="text/css" rel="stylesheet" href="styles/main.css" /><script type="text/javascript" src="scripts/dtree.js"></script>
           
          但是請注意:使用方法2這種方式引用,如果直接訪問http://localhost:8080/MyProject/test.jsp,是引用不到的。
           
          3.使用Web工程的絕對路徑
          方法1和方法2都有缺點,都只適用一種情況,有沒有兩種情況都適用的呢?答案肯定的!
          我們使用絕對路徑:
          Html代碼 [url=http://javatechnology.javaeye.com/blog/577469#][/url]
          1. <link type="text/css" rel="stylesheet" href="/MyProject/styles/main.css" />  
          2. <script type="text/javascript" src="/MyProject/scripts/dtree.js"></script>  
          <link type="text/css" rel="stylesheet" href="/MyProject/styles/main.css" /><script type="text/javascript" src="/MyProject/scripts/dtree.js"></script>
           
          這樣,不管是通過http://localhost:8080/MyProject/main.do跳轉訪問test.jsp還是直接訪問http://localhost:8080/MyProject/test.jsp,都可以成功引用。
           
          注意:如果我們在部署Web應用時,沒有設置Context Root(一般情況下配置為工程名),也就是IP和端口后面不帶應用名,如http://localhost:8080/main.do和http://localhost:8080/test.jsp,這種情況在引用時就不能帶工程名了,應該這樣:

          Html代碼 [url=http://javatechnology.javaeye.com/blog/577469#][/url]
          1. <link type="text/css" rel="stylesheet" href="/styles/main.css" />  
          2. <script type="text/javascript" src="/scripts/dtree.js"></script>  
          <link type="text/css" rel="stylesheet" href="/styles/main.css" /><script type="text/javascript" src="/scripts/dtree.js"></script>
          posted on 2011-06-16 16:45 Hukin 閱讀(6755) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 永嘉县| 潼关县| 襄垣县| 宁阳县| 铜陵市| 土默特左旗| 凤冈县| 梨树县| 河南省| 东乡族自治县| 安义县| 屏山县| 西林县| 公安县| 兴安县| 光山县| 平陆县| 霍州市| 贺兰县| 双流县| 锦州市| 白山市| 达孜县| 嘉鱼县| 鸡泽县| 日土县| 太仓市| 剑川县| 东明县| 永仁县| 洪洞县| 临沭县| 道孚县| 宜兰县| 太和县| 闽侯县| 沂源县| 池州市| 巢湖市| 乌拉特前旗| 安吉县|