gpt4 book ai didi

javascript - 将列表传递给 js、thymeleaf、spring boot

转载 作者:行者123 更新时间:2023-11-30 20:29:43 28 4
gpt4 key购买 nike

我想将一个列表从 Controller 传递到 javascript 文件并在 js 文件中迭代它。但我在 js 中只有“undefined”。

我使用 Thymeleaf 模板,我的 js 文件与我的 html 分开。

// Controller

List<Bean> list = new ArrayList<Bean>();
model.addAttribute("list", list);

//html

<input id="list" type="hidden"  th:value="${list}"/>

//javascript

var list=$('#list').val();
console.log("list: "+ list);
//[Bean(month=201805, date=2018-05-02),Bean(month=201804, date=2018-05-03)], which is correct


for(var i in list) {
console.log("date: "+ list[i].date); // I got undefined
console.log("month: "+ list[i].month); // I got undefined,too
}

我希望得到月份和日期的值,有人知道吗?

最佳答案

与其将列表放入 html 元素中,不如将其直接放入 Javascript 中。像这样:

<script th:inline="javascript">
var list = /*[[${list}]]*/ [];
</script>
<script src="/your_other_javascript_file.js"></script>

你的循环不工作的原因是 $('#list').val(); 不是一个数组,它是一个字符串。循环遍历字符串不会执行您期望的操作。

关于javascript - 将列表传递给 js、thymeleaf、spring boot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50487480/

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