关于css相对路径问题,请老师看看什么问题,相对路径怎样写才正确?
我用的是eclipse工具,项目结构如下:
edit_jsp,login.jsp,user.jsp中css相对路径分别按如下设置
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/login.css">
<link rel="stylesheet" href="css/bootstrap.min.css">
运行正常,但是message_list.jsp中的css相对路径按同样方式设置后,就出现一个很奇怪的现象,
用户未登录前页面显示不正常,登录后显示正常,css路径设置如下:
<link rel="stylesheet" href="css/index.css">
登录后页面显示如下:
登录前页面显示如下:
正在回答
同学你好,考虑到这个地址是变化的,建议同学不要用相对路径,而是用绝对路径去写。
同学可以在jsp页面中添加以下代码
<%
String basePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath()+"/";
%>
并且在css前加上<%=basePath%>
使其成为绝对路径。这样就不会随着页面的地址变化而变化了。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
同学你好。静态资源的路径解析者是浏览器。相对路径是相对于当前的地址栏路径,和jsp页面本身在项目中的所在的位置无关。
1、同学可以打开F12工具,鼠标悬停在css文件上,看看浏览器解析出地址是不是多了当前地址栏中的这层“message”呢?拼出的css会是“localhost:8080/JDBCMessageBoard/message/css/index.css”这样的,然后将这个地址发给服务器去寻找。但是我们的项目中,WebContent下没有message这个文件夹。css文件也不在这里。
2、同学可以将message_list.jsp中的改为:
<link rel="stylesheet" href="../css/index.css">
如果解答了同学的疑问,望采纳~
祝学习愉快~
- 参与学习 人
- 提交作业 277 份
- 解答问题 4297 个
Java数据库开发的必备技能,从流行的MySQL数据库开始,到Java原生的数据库管理接口JDBC的使用,再到常用的数据持久化框架MyBatis,让你向Java工程师的目标又迈进了一步!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星