国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

關于include標簽導致js路徑找不到的問題分析及解決

2019-11-20 22:32:33
字體:
來源:轉載
供稿:網友
關于使用jsp:include標簽及<%@ include標簽時要注意的事項
先回憶一下二者的區別(對于此篇文章而言,二者在用法上沒有區別)
jsp:include是先編譯一下included.jsp文件,然后再包含(先編譯,后包含)
@ include是先把文件包含就來,然后統一編譯(先包含,后編譯)
今天下午想把Jquery集成到項目中,發現怎么樣都會出問題。原因就是路徑問題。
在集成時,我的思路是寫一個公共JSP文件,里面包含一些常用的js文件,當然此處我用的就是Jquery插件了。
但寫完發現單獨測試公共JSP是可以使用的,但包含公共JSP頁面的頁面卻始終不能使用JQuery,開始還以為是加載順序的問題。

幾經測試,終于發現了其中的問題。
由于做的項目文件較多,故文件都不放在一個文件夾下:在公共JSP頁面中,有
復制代碼 代碼如下:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<script type="text/javascript" src="js/jquery132min.js"></script>
<script type="text/javascript">
$(function(){
alert('hello1');
});
</script>

在調用它的時候,有:
<%@ include file="../../common_ext.jsp"%>
但這樣很可能導致錯誤。

原因是,include之后,公共JSP被加載到自己的JSP,則JQueryr的相對位置已經發生了變化。即公共JSP把JQuery的相對位置傳給了自己的JSP,但自己的JSP以自身為標準,通過路徑就找不到Jquery插件了。簡單地說,就是如果用相對路徑,則公共JSP中的路徑就應該是相對自己jSP的路徑了。
但這樣顯然失去了它是公共JSP的意義,因此在這里用絕對路徑來做:
復制代碼 代碼如下:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String tPath = request.getContextPath();
String tBasePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+tPath+"/";
%>
<script type="text/javascript" src="<%=tBasePath%>js/jquery132min.js"></script>
<script type="text/javascript">
$(function(){
alert('hello1');
});
</script>

這樣,只要在自己的jSP頁面中引入公共JSP就可以了。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 河北区| 加查县| 洮南市| 武冈市| 鄂托克旗| 南昌县| 富锦市| 武强县| 石屏县| 依安县| 泰和县| 来宾市| 和田县| 扬中市| 金坛市| 泸溪县| 绥宁县| 五莲县| 沁阳市| 洛阳市| 永州市| 宝丰县| 南充市| 张家界市| 通海县| 义乌市| 象山县| 闽侯县| 织金县| 车险| 阿拉善右旗| 太湖县| 缙云县| 河间市| 娱乐| 搜索| 绩溪县| 米易县| 文安县| 丰台区| 云龙县|