我想使用模板片段创建最多包含三个项目的列表。无论是否有项目,都会显示三个项目空格,所以看起来像这样。
<div>
<div th:if="${#lists.size(block.children) > 0}"
th:insert="code-block :: block(${block.children[0]})"
th:remove="tag">
</div>
</div>;
<div>
<div th:if="${#lists.size(block.children) > 1}"
th:insert="code-block :: block(${block.children[1]})"
th:remove="tag">
</div>
</div>;
<div>
<div th:if="${#lists.size(block.children) > 2}"
th:insert="code-block :: block(${block.children[2]})"
th:remove="tag">
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
但是,即使该th:if语句在空列表中评估为 false,它仍然尝试执行 `th:include 语句,给出以下错误:
Caused by: org.springframework.expression.spel.SpelEvaluationException:
EL1025E:(pos 14): The collection has '0' elements, index '0' is invalid
Run Code Online (Sandbox Code Playgroud)
如何使 if 语句优先于片段执行?
thymeleaf ×1