Утилита выражения Thymeleaf # lists.contains () не работает

Я работаю со стандартным диалектом чабреца и пытаюсь отобразить список флажков в форме. Рендеринг в порядке, однако проблема в том, что я пытаюсь применить свойство «флажок» к флажкам, используя служебный метод выражения 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] ложь

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

8
задан Tom Lerma 18 December 2013 в 08:20
поделиться