【发布时间】:2016-07-05 09:23:32
【问题描述】:
我有收藏X
我遍历它并这样写:
<span th:each="a, stat : ${X}"
th:text="${X[__${stat.index}__].someProperty} + ','">
</span>
我的另一个尝试是:
<span th:each="a, stat : ${X}" th:for="|a${stat.index}|"
th:text="${X[__${stat.index}__].someProperty} + ','">
</span>
不幸的是输出是一样的。
span中的输出是:
test1, test2, test3,
我希望输出是:
test1, test2, test3
末尾没有逗号。我怎样才能做到这一点?
解决方案:
- 注意与元素类型
span关联的属性th:text的值不得包含“。
代码:
<span th:each="a, stat : ${X}"
th:text=" ${X[__${stat.index}__].someProperty} + (${stat.size-1 > stat.index}? ',':'') ">
</span>
【问题讨论】:
-
我不知道百里香,但你不能添加条件并检查第一个/最后一个元素吗? (Ofc 如果您首先检查,那么如果它不是第一个,则在新元素之前添加逗号。)
-
我不确定如何在 Thymeleaf 中做到这一点,这就是我问的原因
-
看看这里(快速搜索的顶部结果):thymeleaf.org/doc/tutorials/2.1/…
-
是的,我看到了,但我的情况更困难,我们需要检查它是否是最后一个索引,如果是则不要添加。有很多简单的例子。
-
尝试适应这些例子(首先理解它们),例如像这样的东西会起作用吗?
(${stat.index > 0}? ',':'') + ${X[__${stat.index}__].someProperty}(如果索引大于0,则在新元素前添加逗号)。