gpt4 book ai didi

java - 将 Thymeleaf 方言表达式返回值分配给 :with 中的 Thymeleaf 变量

转载 作者:行者123 更新时间:2023-11-30 05:38:39 25 4
gpt4 key购买 nike

我正在拼命尝试将 Thymeleaf 方言表达式返回值分配给 th:with 属性中的 Thymeleaf 变量。

我想要实现这样的目标:

<th:block th:with="foo=${#lists.contains(modelList, modelVariable)}" />

注意:我完全确定我的 #lists.contains 表达式有效,因为我已在 h1 标记中打印了返回值并返回 true 作为文本:

<h1 th:text="${#lists.contains(modelList, modelVariable)}"></h1>

到目前为止,我已经尝试了以下语法,所有这些语法都以某种方式给我带来了解析错误......

没有外部${}:

<th:block th:with="foo=#lists.contains(modelList, modelVariable)" />

经过预处理:

<th:block th:with="foo=${__#lists.contains(modelList, modelVariable)__}" />

经过预处理并将其包装在 ${} 中:

<th:block th:with="foo=${__${#lists.contains(modelList, modelVariable)}__}" />

为什么这些表达式有效?

我做错了什么还是这是 Thymeleaf th:with 表达式的错误/不可能?

谢谢。

最佳答案

th:with没有任何问题表达本身。但是,使用 th:with 创建的变量仅适用于子标签。您的th:block立即关闭,因此 foo立即超出范围,没有任何东西可以访问它。例如,这可以工作:

<th:block th:with="foo=${#lists.contains(modelList, modelVariable)}">
<div th:text="${foo}" />
</th:block>

但这不是:

<th:block th:with="foo=${#lists.contains(modelList, modelVariable)}" />
<div th:text="${foo}" />

没有办法定义这样的全局变量(除了我想的 <html /> 标签上)。

关于java - 将 Thymeleaf 方言表达式返回值分配给 :with 中的 Thymeleaf 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56148344/

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