Я работаю со стандартным диалектом чабреца и пытаюсь отобразить список флажков в форме. Рендеринг в порядке, однако проблема в том, что я пытаюсь применить свойство «флажок» к флажкам, используя служебный метод выражения thymeleaf # lists.contains ().
Итак, у меня есть класс модели, который имеет следующие поля:
private List<Template> templates;
@FormParam("selectedTemplates")
private List<String> selectedTemplates = Lists.newArrayList();
HTML-фрагмент шаблона Thymeleaf:
<div th:each="template : *{templates}">
<input type="checkbox" name="selectedTemplates" th:value="${template.id}"
th:checked="${#lists.contains(product.selectedTemplates, template.id)}" />
<label th:text="${template.filename} + ' (' + ${template.description} + ')'" />
<!-- Attempt to use the list contains to check the field -->
<div th:text="${product.selectedTemplates}"/>
<div th:text="${template.id}"/>
<div th:text="${#lists.contains(product.selectedTemplates, template.id)}" />
</div>
Вывод на страницу для одного из флажки, которые должны быть выбраны.
<input type="checkbox" name="selectedTemplates" value="4" /> (Template Name)
<div>[4,5]</div>
<div>4</div>
<div>false<div>
Итак, как вы можете видеть, я печатаю список со значениями [4,5] и использую метод # lists.contains, чтобы увидеть, есть ли в нем template.id, однако метод всегда возвращает ложный. Я даже попробовал некоторые жестко закодированные идентификаторы, чтобы проверить метод, и я всегда получаю «ложь» обратно.
Например:
<div th:text="${product.selectedTemplates}"/>
<div th:text="${#lists.contains(product.selectedTemplates, 4)}" />
Печать [4,5] ложь
<div th:text="${product.selectedTemplates}"/>
<div th:text="${#lists.contains(product.selectedTemplates, '4')}" />
Печать [4,5] ложь
Не уверен, что я делаю не так, но кажется, что так просто, не уверен, что еще попробовать. Я думаю, что что-то не так с синтаксисом. Любые предложения или советы с благодарностью. Я не могу найти какие-либо ресурсы по устранению неполадок, связанных с этой проблемой, руководство по чабрецу быстро скрывает этот раздел.