近来做项目遇到一个问题,把后台传过来的一组map数据转成一个N行四列的表格。
表格的标题是map的key,内容是map的value。
rows:存有table数据项的map。
代码如下:
<table cellspacing="0" cellpadding="0" class="main" style="width:100%;">
<c:forEach items="${rows }" var="mapItem" varStatus="st">
<c:if test="${st.index%2==0 }">
<tr>
</c:if>
<td align="right" width="15%" bgcolor="#f5f5f5">${mapItem.key }</td>
<td width="35%" bgcolor="#fff">${mapItem.value }</td>
<c:if test="${st.index%2!=0 }">
</tr>
</c:if>
</c:forEach>
</table>
表格如下:
遇到的问题:
1、行数问题。
刚开始用st.index%4==0来判断,死活都不对,后来才发现,确实不对,map里存的是键值对,一行4列,和2取余就行了。
2、</tr> 行结束符号什么时候出现?
刚开始用st.index%2==0时,出现</tr>,打出来的不对,百思不得其解。后来想明白了,应该用st.index%2!=0时出现</tr>。