У меня есть простой шаблон Thymeleaf, который выдает желаемый результат.Однако анализ шаблона в IntelliJ сообщает о двух не совсем правильных предупреждениях (хотя я могу понять, почему они генерируются).Я хотел бы знать, можно ли предотвратить предупреждения, структурировав шаблон по-другому или дав нам подсказку IntelliJ.
Вот соответствующий фрагмент из моего шаблона.По сути, я перебираю список объектов, сгруппированных по атрибуту group
.Для каждой группы я хочу вставить тег заголовка и неупорядоченного списка перед объектами в этой группе, а затем добавить закрывающий тег.Тот факт, что открывающие и закрывающие теги не четко связаны друг с другом, вызывает появление двух предупреждений (обозначенных в коде комментариями (1) и (2)).
<!--/*@thymesVar id="issues" type="java.util.List<com.example.Issue>"*/-->
<th:block th:each="issue,i : ${issues}">
<th:block th:if="${i.first || !issue.uniqueName.equals(issues.get(i.index - 1).uniqueName)}">
<h3 th:text="${issue.group.name}"></h3>
<ul> <!-- (1) Element ul is not closed -->
</th:block>
<li class="warning" th:text="${issue.name + ': ' + issue.message}"></li>
<th:block th:if="${i.last || !issue.uniqueName.equals(issues.get(i.index + 1).uniqueName)}">
</ul> <!-- (2) Closing tag matches nothing -->
</th:block>
</th:block>
Вот пример выходных данныхкоторый дает понять, что сгенерированный HTML действительно правильный, т.е.тег ul
открывается и закрывается правильно.
<h3>Group 1</h3>
<ul>
<li class="warning">Sample 1: message 1</li>
<li class="warning">Sample 2: message 2</li>
</ul>
<h3>Group 2</h3>
<ul>
<li class="warning">Lorem ipsum: dolor sit amet</li>
<li class="warning">Lorem ipsum: dolor sit amet</li>
</ul>
Так есть ли способ избежать этих предупреждений IntelliJ о том, что элемент не закрыт, и закрывающий тег не соответствует ничему?