隨筆-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 閱讀(6756) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 高州市| 仲巴县| 巴青县| 牙克石市| 渭南市| 桐柏县| 镶黄旗| 瓦房店市| 奉节县| 城固县| 明星| 凌源市| 南安市| 五莲县| 平果县| 西昌市| 台山市| 东台市| 泰和县| 嘉善县| 儋州市| 灵璧县| 霍林郭勒市| 宁波市| 紫阳县| 社旗县| 三门县| 肃南| 兴业县| 读书| 辉南县| 简阳市| 孟连| 枣强县| 保靖县| 曲靖市| 正镶白旗| 海门市| 当涂县| 汤原县| 凌云县|