问题描述
我的目录是webroot/css/xx.csswebroot/web-info/page/xx.jspjsp被映射为http://localhost/project/xx.acton我在jsp中使用绝对路径加上<%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><base href="<%=basePath%>">然后引用css<link href="/css/trainadd.css" ref="stylesheet" type="text/css"/>但是并没用引用上。怎么回事呢?
解决方案
<link href="/css/trainadd.css" ref="stylesheet" type="text/css"/> 换成<link href="css/trainadd.css" rel="stylesheet" type="text/css"/>
解决方案二:
先给你普及一下绝对路径和相对路径的知识吧,绝对路径是从域名开始往后算的,比如你的action路径:http://localhost/project/xx.action 它的绝对路径是/project/xx.action 所以说你如果要使用绝对路径的话应该这样<link href="/project/css/trainadd.css" rel="stylesheet" type="text/css"/>因为你页面上使用了base标签<base href="<%=basePath%>"> 等价于:<base href="http://localhost/project/"> 如果要用相对路径,可以这样<link href="./css/trainadd.css" rel="stylesheet" type="text/css"/>或<link href="css/trainadd.css" rel="stylesheet" type="text/css"/>