Как удалить html-фрагмент с одной страницы с помощью тимилиста? - PullRequest
3 голосов
/ 11 марта 2019

У меня есть HTML-фрагмент, который он включил в макет. этот макет существует на всех страницах. теперь у меня есть только одна страница, которую я хочу исключить из этого фрагмента.

Макет страницы:

<div th:replace="~{chat/head.html :: head}"></div>
<div th:replace="~{chat/footer.html :: footer}"></div>

все страницы: включает макет. Последние страницы: включают макет без:

<div th:replace="~{chat/footer.html :: footer}"></div>

1 Ответ

0 голосов
/ 12 марта 2019

Одним из решений было бы добавить флаг на страницу макета:

<div th:replace="~{chat/head.html :: head}"></div>
<th:block th:if="${!#bools.isTrue(hideFooter)}">
    <div th:replace="~{chat/footer.html :: footer}"></div>
</th:block>

Тогда на сервере:

@GetMapping("/thatOnePageThatDoesntNeedAFooter")
public String getThatOnePage(Model model) {
   model.addAttribute("hideFooter", true);
   return "thatOnePageThatDoesntNeedAFooter";
}

Логика может показаться немного странной, но это уменьшит необходимость добавления переменной к модели в любом другом случае, кроме этого исключительного.

Обратите внимание, что вам нужно поместить th:if вне блока th:replace. th:replace будет иметь приоритет над th:if, если вы поместите их в одну строку.

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