Thymeleaf 不能在同一标签中使用 th:each 和 th:replace

问题描述 投票:0回答:1
html spring thymeleaf spring-thymeleaf
1个回答
0
投票

根据 Thymeleaf 属性优先级

insert
replace
将在
each
运算符之前工作。这就是为什么在处理
cellObject
时尚未定义
replace
。要更改处理顺序,您需要分离属性并在
each
之前处理
replace
。为此,您可能需要使用
th:block
合成标签,您的代码可能看起来像...

<tr th:fragment="rowFragment(rowObject)">
    <th:block th:each="cellObject : ${rowObject.getCellObjects()}">
       <td th:replace="~{::cellFragment(${cellObject})}"></td>
    </th:block>
</tr>

请注意,我没有运行此代码,它仅用于演示该想法。

© www.soinside.com 2019 - 2024. All rights reserved.