gpt4 book ai didi

java - Thymeleaf if + 每个订单

转载 作者:行者123 更新时间:2023-11-30 07:03:41 25 4
gpt4 key购买 nike

我正在做以下事情:

<p th:if="${foo != null}" th:each="row : ${foo.values().iterator().next().rowKeySet()}">

foojava.util.Map 的实例。

Thymeleaf throws an `TemplateProcessingException: 
Exception evaluating SpringEL expression: "foo.values().iterator().next().value.rowKeySet()"` with root cause `SpelEvaluationException: EL1011E:(pos 22):
Method call: Attempted to call method values() on null context object`.

为什么当th:if的结果为false时Thymeleaf会处理th:each,如何解决?

这是我目前的肮脏解决方法:

<p th:if="${foo != null}" th:each="row : ${foo != null ? foo.values().iterator().next().rowKeySet() : null}">

最佳答案

Thymeleaf 在 th:if 之前处理 th:each 因为定义了 Attribute Precedence,它建立了评估标签的顺序,这解释了 here .

作为一项工作,您可以包装 th:each 表达式,例如:

<div th:if="${foo != null}">
<p th:each="row : ${foo.values().iterator().next().rowKeySet()}">
...

我不知道您的工作环境,但作为引用,您可以使用 Thymeleaf ( docs ) 轻松迭代 map 。

关于java - Thymeleaf if + 每个订单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28188904/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com