Jsp頁面引入Js文件出錯

1)引入的js文件出錯,檢查方法:將Js的內容寫在當前的頁面的<script ...> </script>之間,看是否能夠正常運行,如果不能,請覈查代碼
2) 如果引入的代碼在當前頁面中能夠正常運行,但當引入時不能正常運行,則有兩種可能
   A:引入Js的路徑有問題
   B:引入的Js的編碼格式與當前頁面不匹配;
 
3)引入Js的路徑問題
   js的引入不外乎兩種,相對路徑與絕對路徑
  
  test.js  與index.jsp 放在同一文件夾下,比如: web應用/manage/下面
  第一種情況 :
  一般在學習時, 一個tomcat上都跑多個工程, 用工程名來區分
因爲我的的URL是 :http://localhost/工程名 /manage/index.jsp
多了一個工程名,所以要加 <%=request.getContextPath() %>
如下:
<script src="<%=request.getContextPath() %> /manage/test.js"></script>

  第二種情況:
  訪問JSP文件時, 用相對路徑引入JS,CSS文件是OK的
  真實項目中,  一個tomcat上要是也跑了多個工程, 並用IP來區分
  url 是這樣的:  http://localhost/manage/index.jsp   注意這裏,是直接訪問JSP文件,不是    servlet,不是struts .
test2.js  與index.jsp 放在同一文件夾下,下面用相對路徑來引入 JS文件 是OK 的:
<script src=test2.js></script>

第三種情況:一個通過Action跳轉之後到達的Jsp頁面需要引入一個Js文件:
 
  這種情況下,請使用絕對路徑,
  在第二情況的基礎上, 我們訪問的是 servlet 或是struts的action  , 再轉發到 index.jsp


url 是:  http://localhost/***.do或者  http://localhost/***.action 這裏不是訪問JSP文件了

因此路徑應該這麼寫:
<script src="/manage/test.js"></script>
test2.js  前面一定要有/manage/
或者:<script src="http://127.0.0.1/工程名/manage/test.js"></script> 這種方法推薦

在引入js時,我們應該養成良好的習慣,請使用絕對路徑,在開發時,能夠大大的提高自己的開發效率。


4)引入js的編碼問題;
   
   將兩者的編碼改爲一致,一般我們可以修改JS文件編碼使其與頁面編碼一致。
第二種方式是使用script標記的charset屬性來顯式指明所引入js文件的編碼。如<script src="xx.js" charset="gbk"></script> 這樣無論頁面是什麼編碼,都可以正常的訪問這個JS中的內容。
相比之下,第二種可能更方便一些,而且作爲一種好的習慣,平時我們應該儘可能都寫上charset屬性。
發佈了27 篇原創文章 · 獲贊 25 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章