迭代对象列表

时间:2015-12-17 05:08:11

标签: java jstl

我的控制器中的代码就像

List<List<FormFieldsDO>> formFieldList=new ArrayList<List<FormFieldsDO>>();
    for(int i = 0 ;i< partialReportDO.getWorkFlowList().size(); i++ ){
        List<FormFieldsDO> listOfFormField =  formServices.getFieldListByWorkFlowId(partialReportDO.getWorkFlowList().get(i),
                        partialReportDO.getFieldIds());
        formFieldList.add(listOfFormField);
    }
    for (List<FormFieldsDO> list : formFieldList) {
        for (FormFieldsDO formFieldsDO : list) {

            map.addAttribute("formFieldList", formFieldsDO);
        }
    }

我只想使用JSTL代码迭代formFieldList。我用来迭代上面的列表就像

<c:forEach var="innerList" items="${formFieldList}">
   <c:forEach var="list" items="${innerList}">
    <th title="${list.title }">${list.title }</th>
</c:forEach>

但是通过使用上面的代码,我得到了异常。不知道如何在items中迭代提供的<forEach>

1 个答案:

答案 0 :(得分:0)

更改您的控制器代码:

List<List<FormFieldsDO>> formFieldList=new ArrayList<List<FormFieldsDO>>();
for(int i = 0 ;i< partialReportDO.getWorkFlowList().size(); i++ ){
    List<FormFieldsDO> listOfFormField =  formServices.getFieldListByWorkFlowId(partialReportDO.getWorkFlowList().get(i),
                        partialReportDO.getFieldIds());
    formFieldList.add(listOfFormField);
}

map.addAttribute("formFieldList", formFieldList);

AND JSP代码如下:

<c:forEach var="innerList" items="${formFieldList}">
   <c:forEach var="list" items="${innerList}">
      <th title="${list.title }">${list.title }</th>
   </c:forEach>
</c:forEach>