在c:forEach与s:iterator里面使用if标签判断当前位置是否为2的倍

在c:forEach与s:iterator里面使用if标签判断当前位置是否为2的倍数

c:forEach:

<c:forEach var=”workflow” items=”${workflowList}”><tr<c:if test=”${workflowList.indexOf(workflow) % 2 == 0}”></c:if>><td><input type=”checkbox”value=”${workflow.workflowId}” /></td><td><ahref=”javascript:workflowAddorEdit(‘edit’,’${workflow.workflowId}’)”>${workflow.workflowName}</a></td></tr></c:forEach>如果是set集合的时候呢?indexOf还能用吗?indexOf的下标从0开始,为了给第一行数据加入class,,所以用了%2 == 0。

s:iterator:

<ul><li><input type=”checkbox”/>&nbsp;&nbsp;栏目名称</li><s:if test=”catalogUserList.isEmpty()”><li>暂无相关数据</li></s:if><s:iterator value=”catalogUserList” status=”i”><li<s:if test=”#i.count%2 != 0″></s:if>><input type=”checkbox” value=”<s:property value=”#catalogUser.catalogUserId”/>”/>&nbsp;&nbsp;<s:property value=”#catalogUser.catalog.catalogFullName”/></li></s:iterator></ul>s:iterator显然封装的更好。

i.count 是从1开始的。

用s:if判断list是否为空

<s:if test=”catalogManageList.isEmpty()”>`<li>暂无相关数据</li></s:if>

在s:iterator之前使用,因为s:iterator本身会判断是不是空才进去干活。

即使是不成熟的尝试,也胜于胎死腹中的策略。

在c:forEach与s:iterator里面使用if标签判断当前位置是否为2的倍

相关文章:

你感兴趣的文章:

标签云: