Html 在Thymeleaf(默认头部模板)中插入模板而不覆盖子对象

Html 在Thymeleaf(默认头部模板)中插入模板而不覆盖子对象,html,spring,spring-boot,spring-mvc,thymeleaf,Html,Spring,Spring Boot,Spring Mvc,Thymeleaf,我习惯于th:insert和th:replace,但我需要一种方法在头中包含一个片段,而不覆盖头中的其他标记 我尝试了这个,但是home.css头部被完全覆盖: home.html: <head th:include="fragments/head :: genericHead"> <link rel="stylesheet" href="home.css"> </head> 您可以将与th:include/th:replace 您的home.htm

我习惯于
th:insert
th:replace
,但我需要一种方法在头中包含一个片段,而不覆盖头中的其他标记

我尝试了这个,但是
home.css
头部被完全覆盖:

home.html:

<head th:include="fragments/head :: genericHead">
    <link rel="stylesheet" href="home.css">
</head>
您可以将与
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
将执行
include
,然后它将消失(因此它可以是
include
,也可以是
replace
,这并不重要),留给我们片段标记的内容

<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 >