【发布时间】:2018-02-08 20:49:57
【问题描述】:
我正在使用 Thymeleaf #lists.contains,但无法使此方案正常工作。
我在 Java 中有一个这样的 ArrayList:
List<String> data = new ArrayList<String>();
列表包含数字:[1,2,3]。现在在 Thymeleaf 中,我想检查一个数字是否在列表中,然后将我的复选框打印为选中状态,我正在尝试这个:
<input type="checkbox" th:if="${#lists.contains(data,1)}" name="checklist" checked="true" />
<input type="checkbox" th:unless="${#lists.contains(data,1)}" name="checklist" />
这不起作用。没有选中任何复选框。我本来希望列表中的 1 和 if 中的 1 匹配并选中复选框。
由于某种原因,Thymeleaf 不能这样工作。如果我将所有值都附加上类似 c 的内容,例如 ['c1','c2','c3'] 并对其进行测试,那么它可以完美运行。那么这是一个数字/字符串测试问题吗?如何在不向数字附加字符的情况下使其工作?
如果我将变量打印出来,我会得到:
${#lists.contains([1],1)} = false
${#lists.contains([1],'1')} = true
所以如果我必须在两边都使用变量,我将如何添加引号? 我试过了,但它不起作用:
${#lists.contains(data,"numvar")}
【问题讨论】:
标签: list spring-boot thymeleaf contains