jsp、css中引入外部资源相对路径问题分析
在jsp页面中添加base,可用相对路径:
<%
Stringpath=request.getContextPath();
StringbasePath=request.getScheme()+"://"
+request.getServerName()+":"+request.getServerPort()
+path+"/";
%>
然后在<head>标签内添加base
<basehref="<%=basePath%>"></base>
在本页面中“直接”引入外部文件时,可直接
<scriptsrc="js/common/jquery-1.11.1.min.js"language="javascript" type="text/javascript"></script> <scriptsrc="js/common/frame.js"language="javascript" type="text/javascript"></script> <linkhref="css/common/frame.css" rel="stylesheet"type="text/css"/> <linkrel="shortcuticon"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文件
<linkhref="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:285px51px;
}
这种情况下直接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:285px51px;
}
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下