0

こんにちは、私は 3 つのゲッターを持つ Bean を持っています。JSP では、JSTL を使用して Bean を反復処理し、テーブルにデータを入力します。私は配列を構築するために同じことをする必要があるsaome javascriptを持っています。ここではハードコーディングされていますが、Bean を反復処理してどのように構築できますか?

Bean: これは、JSTL を使用して JSP で行う方法です。

<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>
4

2 に答える 2

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>
于 2012-08-10T19:04:43.697 に答える
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);
}
于 2012-08-10T19:28:15.800 に答える