大家好,我有一个有3个吸气剂的豆子。在JSP中,我使用JSTL迭代bean来填充表。我有saome javascript我需要做同样的事情来构造一个数组。这里是硬编码的,但是如何通过迭代bean来构造它呢?
Bean:这是我在JSP中使用JSTL
的方式<c:forEach var="bean" items="${beans}">
${bean.month}
</c:forEach>
我怎么能在这里做同样的事情:
使用Javascript:
"categories": [{
"category": [{
"label": "Oct"
}, {
"label": "Nov"
}, {
"label": "Dec"
}, {
"label": "Jan"
}, {
"label": "Feb"
}, {
"label": "Mar"
}, {
"label": "Apr"
}, {
"label": "May"
}, {
"label": "Jun"
}, {
"label": "Jul"
}, {
"label": "Aug"
}, {
"label": "Sep"
}]
}]
尝试在javascript中执行类似的操作
<c:forEach var="bean" items="${beans}">
[{
"label": " ${bean.month}"
},
</c:forEach>
答案 0 :(得分:1)
我在JSTL方面经验不足。这是基于我在PHP中的经验的猜测。
var array = [
<c:forEach var="bean" items="${beans}" varStatus="beanStatus">
{
"label": "${bean.month}"
}
<c:if test="${!beanStatus.last}"> // put comma after all item, but last one
,
</c:if>
</c:forEach>
];
或
var array = [];
<c:forEach var="bean" items="${beans}">
array.push({
"label": "${bean.month}"
});
</c:forEach>
答案 1 :(得分:0)
var category = [], // new Array
i,
newCategory;
for (i = 0; i < beans.length; i += 1) {
newCategory = {}; // new object
newCategory.label = beans[i].month;
category.push(newCategory);
}