我正在使用Thymeleaf作为模板语言构建Spring MVC应用程序。我尝试了很多东西,但是我无法在我的Thymeleaf模板中包含我的CSS文件。我做错了什么?
我的项目结构如下。
project
src/
main/
java/
resources/
web/
WEB-INF/
web.xml
dispatcher-servlet.xml
views/
css/
bootstrap.min.css (and other css files)
index.html
我的index.html如下所示。
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="description" content=""/>
<meta name="author" content=""/>
<title>Hello Spring MVC</title>
<link th:href="@{/css/bootstrap.min.css}" rel="stylesheet"/>
</head>
<body>
...
</body>
</html>
当我运行我的应用程序时,会显示index.html,但找不到css。
我如何包含css?
答案 0 :(得分:3)
您是否尝试删除前导“/”?像这样:
<link th:href="@{css/bootstrap.min.css}" rel="stylesheet"/>
这有用吗?
此外,许多IDE将允许您拖放一个文件,该文件将创建指向该文件的链接。例如,在Netbeans中,您可以将项目导航器中的文件拖到HTML(或类似HTML)的打开文件中,它将创建一个链接。
尝试:
project
src/
main/
java/
resources/
static/
bootstrap.css
答案 1 :(得分:0)
您是否正确配置了资源处理程序? I. e。
@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
super.addResourceHandlers(registry);
// ...
registry.addResourceHandler("/css/**")
.addResourceLocations("classpath:/views/css/");
// ...
}
可以看到XML配置示例here