forEach迭代器标记

时间:2012-06-25 06:50:39

标签: java json jsp

我有一个for循环,它可以通过以下方式正常工作:

<c:forEach begin="0" end="10" varStatus="status">'+
      <td><div id="text<c:out value="${status.index}"/>"> </div></td>
</c:forEach>'+

我在Action类中有以下代码。我只想在上面的循环中传递listSize到end =“10”。

Vector<String> l1 = new Vector<String>();
Vector<String> v1 = new Vector<String>();
l1.add("listSize");
v1.add(String.valueOf(list.length));
for (int i=0;i<list.length;i++){
    if (notEmpty(list[i].getText())){
    l1.add("text"+i);
    v1.add(list[i].getText());
         }
}response.getWriter().print(JSONUtils.toJSON(new Collection[]{l1}, new Collection[]{v1}));

有人有想法吗?

2 个答案:

答案 0 :(得分:1)

使用<c:set>设置变量(在JSP / JSTL中)或首先将变量添加到requestScope(在Java的Java部分中),然后通过requestScope.variable引用变量。

然后在end="${variable}"代码中使用<c:forEach>

问候。

答案 1 :(得分:0)

您需要为请求设置“listSize”属性,该属性将包含列表的大小。

所有答案都在这里:Pass variables from servlet to jsp