Thymeleaf th:每个用th过滤:if

时间:2015-04-12 10:27:32

标签: java spring spring-mvc spring-boot thymeleaf

我需要为<span>数组中component components的每个name进行迭代并创建'MATERIAL'个元素<span th:each="component : ${body.components}" th:object="${component}"> <button th:if="*{name} == 'MATERIAL'" th:text="*{title}"></button> </span> <{1}}

我的代码如下

<span>

如果name不等于'MATERIAL',此代码会产生一系列空的<span>元素。我不希望创建这个空的<span th:each="component : ${body.components}" th:object="${component}" th:if="*{name} == 'MATERIAL'"> <button th:text="*{title}"></button> </span> 元素。

我也尝试过以下

{{1}}

这导致空输出并且根本不打印任何内容。有人可以帮我这个。

1 个答案:

答案 0 :(得分:14)

您应该使用点()符号直接引用迭代项属性,而不是通过 html中的SpEL表达式求值(*{name})元素:

<span th:each="component : ${body.components}" 
      th:object="${component}"
      th:if="${component.name} == 'MATERIAL'">
  <button th:text="*{title}"></button>
</span>