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

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

          -webapp 
          |-MyProject  目錄 
           |--WebContent 目錄
            |---scripts 目錄
             ---dtree.js 文件
            |---styles 目錄
             ---main.css 文件 
            |---pages 目錄
             ---test.jsp 文件
           
          現(xiàn)在例如要在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跳轉(zhuǎn)到test.jsp頁面,那么這種使用相對路徑的方式就引用不到了。
          例如我們當訪問http://localhost:8080/MyProject/main.do的時候,頁面跳轉(zhuǎn)到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跳轉(zhuǎn)訪問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)  編輯  收藏

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


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 南乐县| 镇赉县| 罗山县| 桂林市| 婺源县| 山西省| 扬中市| 江孜县| 疏勒县| 扎鲁特旗| 湖南省| 吉隆县| 兴仁县| 陆川县| 徐闻县| 内黄县| 勃利县| 东乌珠穆沁旗| 合川市| 临高县| 鸡东县| 丁青县| 汨罗市| 聊城市| 监利县| 天镇县| 孟州市| 富宁县| 通化市| 金川县| 阿城市| 内江市| 威宁| 沂南县| 工布江达县| 翁牛特旗| 陇南市| 赤城县| 同江市| 唐山市| 读书|