为什么 Thymeleaf 用于 href?

Why Thymeleaf for href?

我正在部署一个包含 Spring Boot、Thymeleaf 和 Bootstrap 的模板。

为什么模板需要Thymeleaf组件?通常,Thymeleaf 用于通过从控制器接收数据来填充 index.html-datatable。但在这种情况下,Thymeleaf 仅用于“href”前面,例如喜欢:

[...] th:rel=“stylesheet“ th:href=“@{assets/datatable/datatables.css}"/>

为什么在这种情况下我需要 Thymeleaf?是否可以在没有 th 前缀的情况下在正常 HTML 中创建此类引用?真的有必要在这里使用 Thymeleaf 吗?如果是:为什么?

是的,可以在没有 th:href 的情况下创建 link。在这种情况下,看起来没有任何理由使用它(因为它是亲戚 link)。

也就是说,如果 link 是上下文相关的(以斜杠 @{/assets/datatable/datatables.css} 开头),使用 th:href 可以让您将应用程序部署到不同的上下文而无需更改link。如果您不使用 th:href,则必须更改代码以部署到不同的上下文。例如

href="/my-application/assets/datatable/datatables.css"
如果您决定将应用程序上下文更改为 /my-online-portal/.

之类的内容,

将无法工作

这:th:href="@{/assets/datatable/datatables.css}" 在这两种情况下都有效,并根据其部署到的上下文生成 /my-application/assets/datatable/datatables.css/my-online-portal/assets/datatable/datatables.css