我使用springboot + thymeleaf,它可以找到模板页面,但找不到静态(css或js)。
application.yml:
spring:
application:
name: exe-springboot
thymeleaf:
suffix: .html
resources:
static-locations: /static/**
和控制器:
@RequestMapping("/index")
public String index() {
return "index";
}
的index.html
<!DOCTYPE html>
<html>
<head>
<title>index</title>
<link rel="stylesheet" href="../static/index.css"/>
</head>
<body>
<h2>test page</h2>
<span class="test-span">hello world with css</span>
</body>
</html>
index.css
.test-span{
font-size: 20px;
color: red;
}
和浏览器:http://localhost:8080/index
hello world with css
的除外颜色应该是红色,但不是。并且带有chrome的控制台显示404 http://localhost:8080/static/index.css
答案 0 :(得分:0)
尝试访问静态目录中的资源,如下所示:
<link rel="stylesheet" th:href="@{index.css}"/>
当你使用百里香时,不要忘记&#34; th:&#34;而且您不必编写所需资源的完整路径。 Spring正在查看静态目录,因此您可以像我的示例一样访问index.css。
另一个好的做法可能是将你的css,js,字体和图像放入静态目录中的不同文件夹中。例如,创建一个文件夹CSS并将index.css放入其中并在HTML中访问它,如:
<link rel="stylesheet" th:href="@{/css/index.css}"/>
编辑:
现在问题不在于从静态文件夹加载资源。正如您所看到的,您将获得状态代码200,这意味着index.css已加载到您的HTML中。
所以我建议您最好用以下内容替换您的标签:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org">