上一节主要讲解了<c:if/><c:choose/><c:when/><c:otherwise><c:out/>标签的使用,下面继续讲解其它标签的使用技巧
1、<c:forEach>标签
1)有时候为了效果,只显示偶数行信息
<table>
<c:forEach var="num" begin="2" end="100" step="2">
<tr>
<td>${num}</td>
</tr>
</c:forEach>
</table>
var是定义的一个变量,最开始将2赋值给它,step是没进行一次加2,当等于100的时候结束
2)遍历List值
<table>
<c:forEach var="person" items="${personList}">
<tr>
<td>${person.id}</td>
<td>${person.name}</td>
</tr>
</c:forEach>
</table>
personList是attribute变量,一个List值,最好是有泛型规范的,Person是一个变量,系统会自动将它转换没你personList里面对象类型
3)遍历Map值
Map虽然也是集合类,但是有雨Map是存储的是一对属性,因此遍历Map和List有些不同
<table>
<c:forEach var="paramnumber" items="$paramnumberMap}">
<tr>
<td>${paramnumber.key}</td>
<td>${paramnumber.value}</td>
</tr>
</c:forEach>
</table>
4)forEac标签varStatus属性
有时候是不是有这种苦恼,需要序号,或者说需要将不同行显示不同的效果等
<table>
<c:forEach var="person" items="${personList}" varStatus="varsort">
<tr bgcolor="${varSort.index%2==1?'red':'blue'}">
<td>${varSort}</td>
<td>${person.id}</td>
<td>${person.name}</td>
</tr>
</c:forEach>
</table>
这样奇偶行就会出现红蓝颜色差别了,还有序号,是不是有点不相信,那就亲手试试看
varStatus还有自己的属性,index(返回当前对象是第几个对象)、count(返回遍历了多个对象)、first(返回当前对象是否是第一个对象)、last类推、current(返回当前遍历的对象)、degin、end、step。