Учебное Пособие По Thymeleaf: Глава 11. Комментарии И Блоки

Оглавление



11 комментариев и блоков



11.1. Стандартные комментарии HTML/XML

Стандартные комментарии HTML/XML можно использовать где угодно в шаблонах Thymeleaf. Все, что находится внутри этих комментариев, не будет обработано Thymeleaf и будет скопировано дословно:
  
  
  
  
  
  
  
   

<!-- User info follows --> <div th:text="${.

}"> .

</div>



11.2. Блоки комментариев на уровне парсера Thymeleaf

Комментарии уровня парсера — это участки кода, которые просто удаляются из шаблона во время синтаксического анализа.

Давайте посмотрим на них:

<!--/* This code will be removed at Thymeleaf parsing time! */-->

Тимелеаф удалит все между , поэтому эти блоки комментариев также можно использовать для отображения кода, когда шаблон статически открыт, зная, что он будет удален, когда Thymeleaf его обработает:

<!--/*--> <div> you can see me only before Thymeleaf processes me! </div> <!--*/-->

Это может быть полезно для прототипирования таблиц с большим количеством с, например:

<table> <tr th:each="x : ${xs}"> .

</tr> <!--/*--> <tr> .

</tr> <tr> .

</tr> <!--*/--> </table>



11.3. Комментарии к уровню прототипирования Thymeleaf

Thymeleaf позволяет определять специальные блоки комментариев, которые полезны при отображении дизайна прототипа, но считаются обычной разметкой, когда Thymeleaf обрабатывает шаблон.



<span>hello!</span> <!--/*/ <div th:text="${.

}"> .

</div> /*/--> <span>goodbye!</span>

Парсер Thymeleaf просто удалит маркеры, но не их содержимое, которое останется без комментариев.

При обработке шаблона мы увидим на выходе:

<span>hello!</span> <div th:text="${.

}"> .

</div> <span>goodbye!</span>

Как и в случае с блоками комментариев на уровне анализатора, эта функция не зависит от диалекта.



11.4. Синтетический тег th:block

Элементарный процессор Thymeleaf (не процессор атрибутов), включенный в стандартные диалекты, й:блок .

й:блок — это простой контейнер атрибутов, который позволяет разработчикам шаблонов указывать, какие атрибуты им нужны.

Thymeleaf выполнит эти атрибуты, а затем просто удалит блок, но не его содержимое.

Так что это может быть полезно, например, при создании повторяющихся таблиц, требующих более одного для каждого элемента:

<table> <th:block th:each="user : ${users}"> <tr> <td th:text="${user.login}">.

</td> <td th:text="${user.name}">.

</td> </tr> <tr> <td colspan="2" th:text="${user.address}">.

</td> </tr> </th:block> </table>

И особенно полезно при использовании в сочетании с блоками комментариев только для прототипов:

<table> <!--/*/ <th:block th:each="user : ${users}"> /*/--> <tr> <td th:text="${user.login}">.

</td> <td th:text="${user.name}">.

</td> </tr> <tr> <td colspan="2" th:text="${user.address}">.

</td> </tr> <!--/*/ </th:block> /*/--> </table>

Обратите внимание, как это решение позволяет шаблонам быть действительным HTML (нет необходимости добавлять недопустимые блоки внутри
) и продолжает нормально работать при открытии в браузерах в качестве прототипов! Теги: #java #Thymeleaf #java

Вместе с данным постом часто просматривают: