jstl forEach循环 要循环的对象是一个list ,list对象中存储的是一个map 如下:
Map<String, Object> singleTask = new HashMap<String, Object>();
List<Map<String, Object>> results = new ArrayList<Map<String, Object>>();
results.add(singleTask);
request.setAttribute("results",results);
在jsp中循环显示需要用到,双层循环,才能实现效果。
<!-- list 的子元素是map -->
<c:forEach items="${results}" var="result" varStatus="status"></c:forEach>
在显示页面显示的时候,样式老是出问题。
改进:用一个javaBean来存储传递map中的数据,同时也避免了双层循环了。
List<ToDoTask> results = new ArrayList<ToDoTask>();
ToDoTask toDoTask = new ToDoTask();
..
results.add(toDoTask);
<c:forEach items="${results}" var="result" varStatus="status">
<tr>
<td width="2%">${status.index+1 }</td>
<td width="5%">${result.pdname }</td>
<td width="15%"><fmt:formatDate value="${result.createTime }" pattern="yyyy-MM-dd HH:mm:ss" type="both"/></td>
<td width="10%">${result.taskName }</td>
</tr>
</c:forEach>