【发布时间】:2016-04-05 14:41:21
【问题描述】:
我正在尝试学习 Thymeleaf,但在使用样式表的上下文相关 URL 时遇到了困难。
这是我网页上的<head>:
<head lang="en">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<link href="../static/css/bootstrap.min.css" rel="stylesheet" media="screen"
th:href="@{../static/css/bootstrap.min.css}" />
</head>
如果我查看渲染页面的源代码,我会得到:
<head lang="en">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="./test_files/bootstrap.min.css" rel="stylesheet" media="screen">
</head>
我不知道那条路是从哪里来的。 “测试”来自文件名。如果我给页面一个<title> 标签,“测试”就会被标题替换。但这似乎与相对 url 值无关。好迷茫……
顺便说一句,标准链接在静态网页中完美运行,因此这是其中的正确路径。
【问题讨论】:
-
我在 Google 上环顾四周,找不到在
th:href属性中使用相对路径的示例。您的问题似乎有效,希望您能得到答案。 -
好吧,奇怪的是,看起来时髦的 url 是“正确的”。如果我使用这种相对 URL 添加图像,它可以正常工作。我的问题是 Bootstrap。
-
不太明白:您呈现的页面似乎显示应用了意外的过滤器。我不知道引导程序中有任何东西会过滤这样的值。那么,好奇你发现问题出在哪里了吗?
-
你有没有使用
mvc:resources标签来映射你的静态资源?我相信这会解决你的问题。还要确保包含 thymeleaf 命名空间和 DOCTYPE<!DOCTYPE html SYSTEM "http://www.thymeleaf.org/dtd/xhtml1-strict-thymeleaf-4.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">。
标签: spring-mvc thymeleaf