html - 在 Thymeleaf 中插入模板而不覆盖子项(默认头模板)
问题描述
我已经习惯了th:insert
,th:replace
但是我需要一种方法来在标题中包含一个片段,而不会覆盖头部中的其他标签。
我试过这个,但home.css
头部被完全覆盖:
主页.html:
<head th:include="fragments/head :: genericHead">
<link rel="stylesheet" href="home.css">
</head>
头部模板:
<head th:fragment="genericHead">
<link rel="stylesheet" href="common.css">
</head>
我想要某种方法来执行 th:add 或类似的操作,以便将两个链接都作为子链接,head
并导致如下结果:
<head>
<link rel="stylesheet" href="common.css">
<link rel="stylesheet" href="home.css">
</head>
解决方案
您可以将th:block与th:include
/一起使用th:replace
你home.html
会看起来像:
<head>
<th:block th:include="fragments/head :: genericHead"></th:block>
<link rel="stylesheet" href="../static/home.css">
</head>
片段看起来完全一样:
<head th:fragment="genericHead">
<link rel="stylesheet" href="common.css">
</head >
将th:block
执行 theinclude
然后它会消失(所以它可以是 ainclude
也可以是 a replace
,毕竟没关系)给我们留下片段标签的内容。
推荐阅读
- php - 目标 [Illuminate\Contracts\Http\Kernel] 不可实例化 laravel-5.4
- ios - ProgressBar 而 POST API 调用 Swift 4
- python - nomad 作业无法启动 docker
- android - Play Developer Console 的 Android Vitals 部分中的“从任何地方下载”是什么意思?
- c# - 正确使用 GLTEXImage3D 的问题
- django - 为什么打印 IntegerField 字段不会给我一个数字?[姜戈]
- python - 使用 .env 时出现 NameError: name 'config' is not defined
- regex - 正则表达式匹配从第 n 次出现的字符开始的所有内容
- python - 为什么加载大量数据时 Odoo 性能太慢?
- r - R:在列表列上使用 rollapply