繁体   English   中英

将列表传递给js,thymeleaf,springboot

[英]pass list to js, thymeleaf,springboot

我想将一个列表从控制器传递到一个javascript文件,并在js文件中对其进行迭代。 但是我在js中只有“未定义”。

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

//控制器

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(); 不是数组,而是字符串。 遍历字符串不会达到您的期望。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM