为什么 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
。
我正在部署一个包含 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
。