Вставить шаблон без переопределения childs в Thymeleaf (шаблон заголовка по умолчанию) - PullRequest
1 голос
/ 18 февраля 2020

Я привык к th:insert и th:replace, но мне нужен способ включить фрагмент в заголовок, не переопределяя другие теги внутри головы.

Я пробовал это, но голова home.css получает полностью перезаписано:

home. 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: добавить или подобный по порядку иметь обе ссылки как дочерние элементы head, что приводит к чему-то вроде этого:

<head>
    <link rel="stylesheet" href="common.css">
    <link rel="stylesheet" href="home.css">
</head>

1 Ответ

1 голос
/ 18 февраля 2020

Вы можете использовать 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 выполнит include и затем исчезнет (так что это может быть include или также replace, это не так) в конце концов, это не имеет значения) оставив нам содержимое тега фрагмента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...