使用 thymeleaf 评估变量内部的变量

Evaluate a variable inside a variable with thymeleaf

我收到的 bin 数据为 json。每个部分的 bin 数量不同,但例如可能是:

var jsonmsg={"1": "SIXTY", "2": "DISCONNECTED", "3": "TWENTY", "4": "FULL", "5": "TEN"});

我已经知道每个部分的 bins 数量,所以 bins=5 是已知的

所以我试图将 bin 编号和 json 值作为 class 传递 例如:class="bin3 TWENTY"

这是我的百里香代码

<th:block th:each="i : ${#numbers.sequence( 1, bins, 1)}">
    <div class="grid-item">something else</div>
    <div class="grid-item">something else</div>
    <div class="grid-item"><div th:class="bin+${i}" th:classappend="${jsonmsg.[[${i}]]}"></div></div>
</th:block>

class="bin3" 工作正常,但我不知道如何正确请求 jsonmsg.*。我也试过没有 [[]].

我也试过:

th:classappend="${jsonmsg[i]}"

我总是收到消息:

Exception evaluating SpringEL expression

抱歉,我认为这个前提是有缺陷的。

  1. 我正在尝试使用客户端数据操纵服务器端进程。服务器端渲染到那时已经完成,所以我需要使用 javascript(不是 thymeleaf)在客户端处理客户端数据。所以我会根据需要使用javascipt classList.add来更新类。

  2. 我应该直接遍历 jsonmsg,而不是使用整数。

我将保留这个有缺陷的问题,以防其他人试图使用客户端数据(如 stomp)来操纵 Thymeleaf 模板。