从Java(MVC)将数组传递给javascript

时间:2016-08-04 11:35:14

标签: javascript java jsp spring-mvc jstl

我有一个MVC应用程序,我在模型对象中设置了一个整数ArrayList。

在JSP中我将此数组设置为隐藏字段 - 数组包含[1,2]

<input type="hidden" id="matchingLevels" value="${matchForm.matchingLevels}"/>

然后在js中我想将它用作数组

var matchingLevels = $('#matchingLevels').val();
console.log("Form section to display: " + matchingLevels);
for (var i = 0; i < matchingLevels.length; i++) {
        console.log("matchiong level: " + matchingLevels[i]);

}

但是这是控制台日志中显示的内容(它循环遍历每个char而不是数组的val)

Form section to display: [1, 2]
matchiong level: [
matchiong level: 1
matchiong level: ,
matchiong level:  
matchiong level: 2
matchiong level: ]

如何转换为javacript数组并在其上循环?

2 个答案:

答案 0 :(得分:3)

解析它:

JSON.parse(matchingLevels)

答案 1 :(得分:0)

使用JSON.Parse(yourListOfValues)作为对象。

var matchingLevels =JSON.parse(matchingLevels);
console.log("Form section to display: " + matchingLevels);
for (var i = 0; i < matchingLevels.length; i++) {
    console.log("matchiong level: " + matchingLevels[i]);

}