我有2页:
使用c:url:
在login.jsp中添加了css<c:url value="css/style.css"/>
当我打开第一个链接时 - 一切正常。我尝试将相同的style.css文件添加到manage.jsp(第二个URL),但是当我打开第二个链接时 - 不包括css。在页面源我有:
<link rel="stylesheet" type="text/css" href="css/style.css"/>
如何定义从URL(http://local.host:8080/test)的根目录中获取style.css?
答案 0 :(得分:2)
我认为是,因为指定的路径是相对于当前页面的(login
处于路径嵌套*的另一级别而不是admin/manage
)。
一个微不足道但不好的解决方案是为../
的css添加admin/manage
。但是这种灵魂有一个缺点,当您更改页面的路径嵌套*级别时,总是需要调整../
。
要解决此问题,请使c:url
- 标记中的路径以/
开头! (这使标签意识到网址与上下文相关(相对于前面的http://local.host:8080/test/), and the tag will automatically add
http://local.host:8080/test`。
<c:url value="/css/style.css"/>
将呈现为:http://local.host:8080/test/css/style.css
对于链接使用这种方式
<c:url value="/css/style.css" var="cssUrl"/>
<link rel="stylesheet" type="text/css" href="${cssUrl}"/>
*我不知道目前“路径嵌套”的正确用语 - 可随意更改
答案 1 :(得分:0)
属性顺序可能是问题所在。纠正订单
<link href="css/style.css" rel="stylesheet" type="text/css" />