【问题标题】:Evaluate a variable inside a variable with thymeleaf用百里香评估变量内的变量
【发布时间】:2022-02-16 11:14:00
【问题描述】:

我以 json 格式接收 bin 数据。每个部分中的 bin 数量不同,但例如可能是:

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

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

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

这是我的百里香代码

<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]}"

我总是收到消息:

评估 SpringEL 表达式的异常

【问题讨论】:

  • 什么是JSON.parse?是用 Java 写的吗?
  • javascript,因为我有 stomp.js 脚本获取数据,除非我应该先将 stomp 传回 java?不过,这只是一条测试消息,用于在没有踩踏时运行。

标签: html json thymeleaf


【解决方案1】:

对不起,我认为这个前提是有缺陷的。

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

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

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

【讨论】:

    猜你喜欢
    • 2018-04-09
    • 2014-01-07
    • 2020-01-14
    • 1970-01-01
    • 2016-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多