程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> jsp、css中引入外部資源相對路徑問題分析

jsp、css中引入外部資源相對路徑問題分析

編輯:關於JSP

在jsp頁面中添加base,可用相對路徑:

復制代碼 代碼如下:
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"
            + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
%>

然後在<head>標簽內添加base

<base href="<%=basePath%>"></base>

 在本頁面中“直接”引入外部文件時,可直接

復制代碼 代碼如下:
<script src="js/common/jquery-1.11.1.min.js" language="javascript"
    type="text/javascript"></script>
<script src="js/common/frame.js" language="javascript"
    type="text/javascript"></script>
<link href="css/common/frame.css"
    rel="stylesheet" type="text/css" />
<link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon" />

同理,本頁面中的css類

復制代碼 代碼如下:
.top {
    position: absolute;
    left: 0;
    top: 95px;
    right: 0;
    height: 120px;
    background: url(images/common/title.jpg) repeat-x
}

====================例外情況:引入的外部css、js文件又引入image等時=================================

這時候如果也用相對路徑的話,因為已經不在了jsp頁面中,此時相對路徑是相對於本css文件所在的目錄:

如:棠棣新系統,index.jsp頁面中引入的css文件

<link href="css/common/frame.css" rel="stylesheet" type="text/css" />這時在jsp頁面中,引入的js/common/frame.js是從網站跟目錄開始尋找,沒問題。

但在frame.js中有如下css

復制代碼 代碼如下:
.show_menu{
    background-image: url(images/left_bg.gif);
    background-repeat: repeat-y;
    background-position:285px 51px;
}

這種情況下直接url(images/left_bg.gif);是默認從本css文件所在目錄(/css/common/frame.css)+url(images/left_bg.gif),所以此處需要的image需要單獨配置,

改成

復制代碼 代碼如下:
.show_menu{
    background-image: url(../../images/left_bg.gif);
    background-repeat: repeat-y;
    background-position:285px 51px;
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved