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;
}

时间: 2024-09-20 16:37:00

jsp、css中引入外部资源相对路径问题分析_JSP编程的相关文章

在jsp页面中响应速度提高的7种方法分享_JSP编程

方法一:在servlet的init()方法中缓存数据当应用服务器初始化servlet实例之后,为客户端请求提供服务之前,它会调用这个servlet的init()方法.在一个servlet的生命周期中,init()方法只会被调用一次.通过在init()方法中缓存一些静态的数据或完成一些只需要执行一次的.耗时的操作,就可大大地提高系统性能.例如,通过在init()方法中建立一个JDBC连接池是一个最佳例子,假设我们是用jdbc2.0的DataSource接口来取得数据库连接,在通常的情况下,我们需要

解决JSP开发中Web程序显示中文三种方法_JSP编程

方法一:最简单也是用的最多的方法 <%@ page language="java" pageEncoding="GBK" %> 或者<%@ page contenttype="text/html;charset=gbk";>这里可以用gb2312或者gbk,只是gbk比gb2312支持跟多的字符. 这个方法用于jsp页面中的中文显示. 方法二:使用过滤器 过滤器使用主要针对表单提交,插入数据库的数据都是?号.这也是应为to

Java Web开发之访问路径问题分析_JSP编程

本文实例讲述了Java Web开发之访问路径问题.分享给大家供大家参考.具体如下: Web应用是由大量的文件组成的,系统等运行主要是靠文件之间的相互调用来完成,调用就是根据文件的位置来确定的.如果你在访问某个文件的时候,系统报下面这样的错误,如果你的文件名没有写错,就是路径出错了. 为了说明路径问题,我们假设有以下的文档结构: 这是JBuilder2006下的一个截图,应用的名字是filepathweb,有两个文件夹,aa和bb,其中aa下有a_a.jsp和a_b.jsp两个文件,bb下有b_a

jsp页面中的代码执行加载顺序介绍_JSP编程

1. java是在服务器端运行的代码,jsp在服务器的servlet里运行,而javascript和html都是在浏览器端运行的代码.所以加载执行顺序是是java>jsp>js. 2. js在jsp中的加载顺序 页面上的js代码时html代码的一部分,所以页面加载的时候是由上而下加载.所以js加载的顺序也就是页面中<script>标签出现的顺序.<script>标签里面的或者是引入的外部js文件的执行顺序都是其语句出现的顺序,其中js执行的过程也是页面装载的一部分. 2

JSP下动态INCLUDE与静态INCLUDE的区别分析_JSP编程

动态INCLUDE     用jsp:include动作实现 <jsp:include page="included.jsp" flush="true" />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数. 静态INCLUDE    用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面<%@ include file="included.htm" %>  ===============

jsp之c标签用法实例分析_JSP编程

本文实例讲述了jsp之c标签用法.分享给大家供大家参考,具体如下: 核心标签库 它是JSTL中的核心库,为日常任务提供通用支持,如显示和设置变量.重复使用一组项目.测试条件和其他操作(如导入和重定向Web内容).Core标签按功能可分为4种类型: 1 变量维护: (1)<c:set>:设置变量值和对象属性.语法如下: 复制代码 代码如下: <c:set value="值" var="变量名" scope="变量的作用域" tar

在CODEIGNITER中 在CI中引入外部的JS与CSS呢_其它综合

但今天在用CI时,却忘记了,搞了很久都没有出来,上了CI的中国官方网,终于在他们帮助下把问题觖决了,在这里把它贴出来,供大家分享. (另注:我这里是隐藏了url中的index.php文件的,与不隐藏有所不同,但最终都是采用绝对URL) 首先,我在.htaccess文件里设置(作用是隐藏index.php),如下: RewriteEngine on RewriteCond $1 !^(index\.php|images|js|img|css|robots\.txt) #在这里写要排除的资源等 Re

在html中引入外部js文件,并调用带参函数的方法_javascript技巧

在html中引入外部js文件,并调用js文件中的带参函数 1 项目结构 2 编写a.js.test.html //a.js function abc(str){ alert(str); } //test.html <html> <head> <script type="text/javascript" src="a.js"></script> <script type="text/javascript&

CSS中box(盒模式)的分析_CSS/HTML

本篇用box的图例,对CSS中box(盒模式)的分析,为学习CSS的读者建立了清楚的模型. W3C定义的盒模式如下: width和height定义的是Content部分的宽度和高度,padding border margin的宽度依次加在外面.背景会填充padding和content部分.但是由于浏览器设计上的问题,不同浏览器显示效果会有些不同.左右Margin加倍的问题当box为float时,IE6中box左右的margin会加倍 左面的inner的左面margin明显大于5px.这时候,定义