Thymeleaf 加载 CSS 但不加载 Javascript

Posted

技术标签:

【中文标题】Thymeleaf 加载 CSS 但不加载 Javascript【英文标题】:Thymeleaf loads CSS but not Javascript 【发布时间】:2019-10-05 09:47:53 【问题描述】:

我有一个带有 Thymeleaf 模板的 Spring Boot 应用程序,它应该加载一个 css 文件和一个 javascript 文件。 CSS 文件加载,但 Javascript 文件没有加载,它甚至没有尝试从服务器获取它。没有对 Javascript 的 HTTP 请求,但对 CSS 的请求是可见的。 我的错误在哪里?

我已经尝试将 javascript 的链接放在 css 旁边的标题中,但这没有任何区别。

我的文件夹结构如下:

resources
-- static
---- bootstrap
------ css
---- js

这里是 html

<html xmlns:th="https://thymeleaf.org" lang="en" style="height: 100%;">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Website Title</title>
  <link rel="stylesheet" type="text/css" th:href="@/bootstrap/css/bootstrap_custom.css" />
</head>
<body class="d-flex flex-column h-100">
  <script th:href="@/js/main.js" type="text/javascript"></script>
</body>
</html>

没有错误消息,只是忽略了 javascript 的标签。

【问题讨论】:

您的脚本包含什么?尝试在您的脚本中添加一些 console.log 并检查您的开发工具控制台 发现错误:我写的是脚本 th:href 而不是 th:src。过期的小睡带来了解决方案。 【参考方案1】:

您的脚本结束标记不完整。应该是:

<script th:src="@/js/main.js" type="text/javascript"></script>

【讨论】:

发现错误:我写的是脚本 th:href 而不是 th:src。【参考方案2】:

标签应该是

<script th:src[...]>

而不是

<script th:href[...]>

【讨论】:

以上是关于Thymeleaf 加载 CSS 但不加载 Javascript的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot Thymeleaf 登录重定向到索引加载 html 但不是 css 和 js

使用 Spring Boot 和 Thymeleaf 加载静态资源

基本 JS 文件加载但不渲染或执行 Laravel 8 Bootstrap 5

带有 Spring Boot 的 Thymeleaf - 找不到静态资产 (CSS)

Spring Boot 无法从用户文件夹加载 css

引导程序未加载(Thymeleaf)