jsp、cssに外部リソースの相対パスを導入する問題

6959 ワード

jspページにbaseを追加し、相対パスを使用できます.
<%

    String path = request.getContextPath();

    String basePath = request.getScheme() + "://"

            + request.getServerName() + ":" + request.getServerPort()

            + path + "/";

%>

 
次にラベルに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

}

=============================================================
この場合も相対パスを使用すると、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;

}