我将state和stateccounter连接到一个字符串。这是我的hashmap的值,它存储了所有的状态,但是我不能把这个变量放到我的方法中。
<span th:with="stateName=${item.state} + ${item.stateCounter}"></span>
<td th:text="${{order.getStateRepository().get(${stateName})}}"></td>
我将state和stateccounter连接到一个字符串。这是我的hashmap的值,它存储了所有的状态,但是我不能把这个变量放到我的方法中。
<span th:with="stateName=${item.state} + ${item.stateCounter}"></span>
<td th:text="${{order.getStateRepository().get(${stateName})}}"></td>
2条答案
按热度按时间8aqjt8rx1#
注意事项:
(1) 使用
<td>
标记表示您也在使用<table>
. 有一个<span>
标签旁边的<td>
表中的标记不是有效的html(假设这是模板中的样子-也许这只是复制/粘贴的事情)。(2) 如果你的
order
对象具有stateRepository
字段,则不需要使用getterorder.getStateRepository()
. 只需使用字段名即可order.stateRepository
. 你已经和我一起做了item.state
,例如。thymeleaf将从字段名中找出如何使用相关getter。item.getState()
.(3) 局部变量的作用域(可用性/可见性),例如
stateName
在th:with="stateName=${item.state}
仅限于声明它的标记,以及任何子标记。您的中没有任何子标记<span>
-因此,变量在范围之外的任何地方都不可见。因此,它在<td>
标签。(4) 您的例子中需要使用局部变量吗?
而不是使用
get(stateName)
,可以使用stateName
直接:因此,总的来说,这应该是可行的(基于上述假设):
当然,也许你需要局部变量。这可能取决于thymeleaf模板的更广泛的上下文。
nwsw7zdq2#
您正在尝试使用局部变量。如果您尝试以下操作,它将起作用: