在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}"> class="lightTr"</c:if>>
<td><input type="checkbox" name="isWorkflow"
value="${workflow.workflowId}" />
</td>
<td><a
href="javascript:workflowAddorEdit('edit','${workflow.workflowId}')">${workflow.workflowName}</a>
</td>
</tr>
</c:forEach>
- 如果是set集合的时候呢?indexOf还能用吗?
- indexOf的下标从0开始,为了给第一行数据加入class,所以用了
%2 == 0。
s:iterator:
<ul>
<li class="firstLi">
<input type="checkbox" id="ctlUserIds" onclick="wcmAppCommon.checkBox.selectAll(this,'catalogUserIds');"/> 栏目名称</li>
<s:if test="catalogUserList.isEmpty()">
<li>暂无相关数据</li>
</s:if>
<s:iterator value="catalogUserList" id="catalogUser" status="i">
<li<s:if test="#i.count%2 != 0"> class="lightTr"</s:if>><input type="checkbox" name="catalogUserIds" value="<s:property value="#catalogUser.catalogUserId"/>"/> <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的倍数的更多相关文章
- JSTL-core核心代码标签库中的forEach,remove, forTokens,choose,when,otherwise,redirect 标签
<%@ page language="java" import="java.util.*, cn.hncu.domain.*" pageEncoding= ...
- 集合遍历元素的3种方法:for、foreach、迭代器iterator
1.for循环方式(Set集合不能使用,因为Set是无序的没有索引) for (int i = 0; i < list.size(); i++) { Object o = list.get(i) ...
- LeetCode解题报告汇总! All in One!
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 把自己刷过的所有题目做一个整理,并且用简洁的语言概括了一下思路,汇总成了一个表格. 题目 ...
- 为什么iterator,foreach遍历时不能进行remove操作?除了一种情况可以这样(特殊情况)?
Exception in thread "main" java.util.ConcurrentModificationException 并发修改异常引发的思考! 1 foreac ...
- for 、foreach 、iterator 三种遍历方式的比较
习惯用法 for.foreach循环.iterator迭代器都是我们常用的一种遍历方式,你可以用它来遍历任何东西:包括数组.集合等 for 惯用法: List<String> list = ...
- JAVA中的for-each循环与迭代
在学习java中的collection时注意到,collection层次的根接口Collection实现了Iterable<T>接口(位于java.lang包中),实现这个接口允许对象成为 ...
- 集合框架遍历方式之——for-each循环
从Java5起,在Java中有了for-each循环,可以用来循环遍历collection和array.Foreach循环允许你在无需保持传统for循环中的索引,或在使用iterator /ListI ...
- YUI Array 之each| forEach(遍历)
1. yui-each原码: 遍历YArray.each = YArray.forEach = Lang._isNative(Native.forEach) ? function (array, fn ...
- 使用Iterator遍历Sheet(POI)验证及解释结果有序性
test.xlsx: Code: package poi; import static org.junit.Assert.*; import java.io.IOException; import j ...
随机推荐
- mybatis中大于等于小于的写法
第一种写法(1): 原符号 < <= > >= & ' "替换符号 < <= > >= & ' " ...
- Cursor: Pin S Wait On X In The Top 5 Wait Events
Wait Events , Posted in: Technical Track Tags: Group Blog Posts, Oracle, Technical Blog Lately, wait ...
- UUID简记
一.概述 wiki上的解释: A universally unique identifier (UUID) is a 128-bit number used to identify informati ...
- Linux内存管理 (14)匿名页面生命周期
专题:Linux内存管理专题 关键词:匿名页面.换入.换出. 如果要将匿名页面的生命周期进行划分,大概就是诞生.使用.换出.换入和销毁. 内核中使用匿名页面的地方有很多,产生缺页中断之后匿名页面就诞生 ...
- Linux 修改本地时间 (centos为例)
1. tzselect [root@xxxx etc]# tzselect --- 选择时区命令 Please identify a location so that time zone rules ...
- JShell脚本工具
JShell脚本工具是JDK9的新特性 什么时候会用到 JShell 工具呢,当我们编写的代码非常少的时候,而又不愿意编写类,main方法,也不愿意去编译和运行,这个时候可以使用JShell工具.启动 ...
- ES7
本文是自己所学的ES7的一些常用的新特性: 一.padStart()方法,padEnd()方法: 如果某个字符串不够指定长度,有两个方法可以在头部或尾部补全.padStart()用于头部补全,padE ...
- 第二部分之AOF持久化(第十一章)
AOF持久化是通过保存Redis服务器所执行的写命令来记录数据库状态的.被写入AOF文件的所有命令都是以Redis的命令请求协议格式(纯文本)保存的. 一,AOF持久化的实现 1.命令追加 当AOF持 ...
- tomcat发请求,查看各个环节的耗时时间
从一台机器给另一台机器tomcat发请求,查看各个环节的耗时时间 - 业精于勤,荒于嬉:行成于思,毁于随. - CSDN博客https://blog.csdn.net/YAOQINGGG/articl ...
- JAVA ==号和equals()的区别
==号和equals()方法都是比较是否相等的方法,那它们有什么区别和联系呢? 首先,==号在比较基本数据类型时比较的是值,而用==号比较两个对象时比较的是两个对象的地址值: int x = 10; ...