官方文档
https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html#server-root-relative-urls
解决方案
Spring Boot在Thymeleaf结构模块很好提供了静态资源的引用方法
可以使用其他语法来创建相对于服务器根目录的URL(而不是上下文根目录的URL),以便链接到同一服务器中的不同上下文。这些网址的指定方式如下@{~/path/to/something}
th:[href | src]@{资源在static下的目录}
如:@{lib/jquery.js}
不用填写默认的static文件夹
参考案例
1、资源目录结构
2、templates目录下的ws.html可以这样引用static下的资源文件
<!DOCTYPE html>
<html lang="en" xmlns:th="https://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>xxx</title>
<link rel="stylesheet" type="text/css" th:href="@{css/ws.css}"/>
</head>
<body>
<!-- 导入库 -->
<script th:src="@{lib/sockjs.min.js}"></script>
<script th:src="@{lib/stomp.min.js}"></script>
<script th:src="@{lib/jquery.js}"></script>
<script th:src="@{js/ws.js}"></script>
</body>
</html>
使用原始的相对路径的话,则为 href="…/static/css/ws.css", src="…/static/lib/jquery.js"
注意:使用Thymeleaf的引用方法,只有运行项目才有效。普通打开HTML无法解析。
参考文章
https://www.cnblogs.com/duanqiao123/p/10488031.html
https://blog.csdn.net/chenbetter1996/article/details/84994801