转载请注明:https://blog.csdn.net/qfashly/article/details/79498138
一、c:forEach标签的属性
- var:String类型,迭代参数的名称。用来表示每一个迭代变量;
- items:要进行迭代的集合;
- varStatus:迭代变量的名称,用来表示迭代的状态,可以访问到迭代自身的信息;
- begin:int类型,如果指定了items,那么迭代就从items[begin]开始进行迭代;如果没有指定items,那么就从begin开始迭代;
- end:int类型,如果指定了items,那么就在items[end]结束迭代;如果没有指定items,那么就在end结束迭代;
- step:迭代的步长;
- current:当前这次迭代的(集合中的)项;
- index:int类型,当前这次迭代从0开始的迭代索引;
- count:int类型,当前这次迭代从1开始的迭代计数;
- first:boolean类型,用来表明当前这轮迭代是否为第一次迭代;
- last:boolean类型,用来表明当前这轮迭代是否为最后一次迭代。
二、使用c:forEach标签丰富jsp页面表格形式
- 跨行操作
<div align="center" class="table_title">
<table border="1" width="600px">
<thead>
<tr>
<th>项目</th>
<th>年级</th>
<th>平均得分</th>
<th>标准差</th>
<th>优秀率</th>
<th>良好率</th>
<th>及格率</th>
<th>不及格率</th>
</tr>
</thead>
<tbody>
<c:forEach items="${table3DataMap}" var="gradeDatas" varStatus="mapStatus">
<tr>
<td rowspan="${gradeDatas.value.size()}" align="center">${subMap[gradeDatas.key]}</td>
<c:forEach items="${gradeDatas.value}" var="gradeData" varStatus="status">
<c:if test="${!status.first}">
<tr>
</c:if>
<td align="center">${gradeData.gradeName}</td>
<td align="center">
<fmt:formatNumber type="number" value="${gradeData.score}" pattern="0.00"/>
</td>
<td align="center">
<fmt:formatNumber type="number" value="${gradeData.standardDeviation}" pattern="0.00"/>
</td>
<td align="center">
<fmt:formatNumber type="number" value="${gradeData.excellentRate}" pattern="0.00"/>%
</td>
<td align="center">
<fmt:formatNumber type="number" value="${gradeData.goodRate}" pattern="0.00"/>%
</td>
<td align="center">
<fmt:formatNumber type="number" value="${gradeData.passRate}" pattern="0.00"/>%
</td>
<td align="center">
<fmt:formatNumber type="number" value="${gradeData.failRate}" pattern="0.00"/>%
</td>
</tr>
</c:forEach>
</c:forEach>
</tbody>
</table>
</div>
- 列表内容
<div align="center" class="table_title">
<table border="1" width="600px">
<thead>
<tr>
<th rowspan=2>年级</th>
<th colspan=2>男生身高(cm)</th>
<th colspan=2>女生身高(cm)</th>
</tr>
<tr>
<th>平均身高</th>
<th>全国标准平均身高</th>
<th>平均身高</th>
<th>全国标准平均身高</th>
</tr>
</thead>
<tbody>
<c:forEach items="${table4Data}" var="gradeData">
<tr>
<td align="center">${gradeData.gradeName}</td>
<td align="center">
<fmt:formatNumber type="number" value="${gradeData.mHeight}" pattern="0.00"/>
</td>
<td align="center">
<fmt:formatNumber type="number" value="${gradeData.mAvgHeight}" pattern="0.00"/>
</td>
<td align="center">
<fmt:formatNumber type="number" value="${gradeData.gHeight}" pattern="0.00"/>
</td>
<td align="center">
<fmt:formatNumber type="number" value="${gradeData.gAvgHeight}" pattern="0.00"/>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>