1. 程式人生 > >jsp引入js文件

jsp引入js文件

這樣的 cal 工程 detail tails zha 使用 tex context

轉自:http://blog.csdn.net/ppzhangj/article/details/7859628

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屬性。

jsp引入js文件