参考:
<c:forEach items="${listItems}" var="item">
<c:if test="${item.index%3==1}">
<c:out value="<tr>" escapeXml="false"></c:out> //新的一行开始, 每3个元素就换行
</c:if>
<c:out value="<td>${item}</td>" escapeXml="false"></c:out> //输出一列
<c:if test="${item.index%3==0}">
<c:out value="</tr>" escapeXml="false"></c:out> //一行结束
</c:if>
</c:forEach>
题目和选项分别遍历显示
<c:forEach var="vote" items="${votes}" varStatus="status">
<c:if test="${status.index%2==0}">
<c:out value="<tr>" escapeXml="false"></c:out>
</c:if>
<td class="fontw" width="260" valign="top">
<table>
<tr>
<td >${vote.VOTE_TITLE }</td>
</tr>
<c:forEach var="VoteOptions" items="${VoteOptions}">
<c:if test="${vote.VOTE_ID eq VoteOptions.VOTE_ID}">
<tr>
<td width="280" class="font2">${VoteOptions.OP_TITLE}</td>
<td width="40"><input type="checkbox" name="checkbox4" id="checkbox4" /></td>
</tr>
</c:if>
</c:forEach>
</table>
</td>
<c:if test="${status.index%2==1}">
<c:out value="</tr>" escapeXml="false"></c:out>
</c:if>
</c:forEach>