Я использую последнюю версию макетов страниц с чабрецом .
Я хочу использовать шаблон заголовка $CONTENT_TITLE - $LAYOUT_TITLE
для всех своих страниц. Поэтому я создал следующие файлы макета и содержимого.
Мой layout.html
файл выглядит как
<!doctype html>
<html xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.w3.org/1999/xhtml">
<head>
<title layout:title-pattern="$CONTENT_TITLE - $LAYOUT_TITLE">My Company Name</title>
<!-- some scripts and styles --->
</head>
<body>
<!-- some content --->
</body>
</html>
Мой content.html
выглядит как
<!DOCTYPE html>
<html xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" xmlns:th="http://www.thymeleaf.org"
layout:decorate="~{layout.html}">
<head>
<title>
<th:block th:if="${meta.pageTitle}" th:text="${meta.pageTitle}"></th:block>
</title>
</head>
<body>
<!-- some content --->
</body>
</html>
Еслистраница содержимого получает Newsletter
в качестве значения свойства pageTitle
, и я вызываю страницу содержимого в своем браузере, я получаю правильный результат:
<title>Newsletter - My Company Name</title>
Если страница содержимого не имеет заголовка, яхочу отображать $LAYOUT_TITLE
в моем теге <title>
без начального разделителя -
. Но с моим кодом я получаю
<title>- My Company Name</title>
То, что я хочу, это
<title>My Company Name</title>
Как мне этого добиться простым способом? Насколько я знаю, я не могу использовать $CONTENT_TITLE
в layout.html и проверить, является ли он пустым, или я могу?