我需要为<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}}
这导致空输出并且根本不打印任何内容。有人可以帮我这个。
答案 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>