在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 ...
随机推荐
- spring注解驱动--组件注册
为容器中注册Bean @Configuration代表该类是一个配置类,配置类起到的作用和xml配置文件一样 @Bean代表该方法的返回对象作为Bean加入IOC容器,默认Bean的id是方法的名称. ...
- day 16 包的导入
包的认识 '''包通过文件夹来管理一系列功能相近的模块包:一系列模块的集合体重点:包中一定有一个专门用来管理包中所有模块的文件包名:存放一系列模块的文件夹名字包名(包对象)存放的是管理模块的那个文件 ...
- Java多线程之ReentrantLock与Condition
一.ReentrantLock 1.ReentrantLock简介 ReentrantLock是一个可重入的互斥锁,又被称为“独占锁”.ReentrantLock 类实现了 Lock ,它拥有与 sy ...
- ELK原理与简介
为什么用到ELK: 一般我们需要进行日志分析场景:直接在日志文件中 grep.awk 就可以获得自己想要的信息.但在规模较大的场景中,此方法效率低下,面临问题包括日志量太大如何归档.文本搜索太慢怎么办 ...
- docker 在centos6 和centos7上的区别
这些天研究了下docker,在centos6.6上装了个docker1.7.1,在centos7.6上装了个docker18.09.0 两者还是有区别的. 1.配置docker国内镜像加速 Dock ...
- Docker Toolbox替换默认docker machine的存储位置
使用Docker Toolbox是因为它不用打开windows的hyper-v组件,这样可以和VMware workstation一起使用. 关于如何迁移可参考:https://www.cnblogs ...
- UVA 10618 Tango Tango Insurrection
https://vjudge.net/problem/UVA-10618 题目 你想学着玩跳舞机.跳舞机的踏板上有4个箭头:上.下.左.右.当舞曲开始时,屏幕上会有一些箭头往上移动.当向上移动箭头与顶 ...
- class09
class09 四川菜很辣. Sichuan cuisine is very spicy. 那个汤是凉的. That soup is cold. 这茶很烫. This tea is very hot. ...
- Dubbo2.6.5入门——简单的HelloWorld
建立父工程 打开idea,新建一个空的maven工程,作为整个项目的父工程. <?xml version="1.0" encoding="UTF-8"?& ...
- Java转换流、缓冲流、流操作规律整理
转换流 1.1 OutputStreamWriter类 OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的字符编码表,将要写入流中的字符编码成字 ...