今天做项目和同事讨论利用JSTL<c:forEach>标签循环List的时候需要行补齐功能,实现很简单,但是很多人的代码很多,我以前也是。
不补齐:
<c:forEach var="cur" items="${entityList}" begin="0" end="n - 1" varStatus="vs">
<tr>...</tr>
</c:forEach>
以前的写法:(假如要循环n行)
<c:forEach var="cur" items="${entityList}" begin="0" end="n - 1" varStatus="vs">
<tr>...</tr>
<c:if test="${vs.last}">
<c:forEach begin="${vs.count}" end="n - 1">
<tr>...</tr>
</c:forEach>
</c:if>
</c:forEach>
<c:if test="${empty entityList}">
<c:forEach begin="0" end="n - 1">
<tr>...</tr>
</c:forEach>
</c:if>
现在:
<c:forEach var="cur" items="${entityList}" begin="0" end="n - 1" varStatus="vs">
<tr>...</tr>
</c:forEach>
<c:forEach begin="${fn:length(entityList)}" end="n - 1">
<tr>...</tr>
</c:forEach>
优点:功能完善,支持空数据,代码少,便于记忆,效率高,无侵入,轻量级!
转载请注明出处:http://blog.csdn.net/xxd851116/archive/2009/08/30/4498436.aspx