c:forEachs: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>
  1. 如果是set集合的时候呢?indexOf还能用吗?
  2. indexOf的下标从0开始,为了给第一行数据加入class,所以用了%2 == 0

s:iterator:

<ul>
<li class="firstLi">
<input type="checkbox" id="ctlUserIds" onclick="wcmAppCommon.checkBox.selectAll(this,'catalogUserIds');"/>&nbsp;&nbsp;栏目名称</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"/>"/>&nbsp;&nbsp;<s:property value="#catalogUser.catalog.catalogFullName"/>
</li>
</s:iterator>
</ul>
  1. s:iterator显然封装的更好。
  2. i.count 是从1开始的。

  3. 用s:if判断list是否为空

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

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

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

  1. JSTL-core核心代码标签库中的forEach,remove, forTokens,choose,when,otherwise,redirect 标签

    <%@ page language="java" import="java.util.*, cn.hncu.domain.*" pageEncoding= ...

  2. 集合遍历元素的3种方法:for、foreach、迭代器iterator

    1.for循环方式(Set集合不能使用,因为Set是无序的没有索引) for (int i = 0; i < list.size(); i++) { Object o = list.get(i) ...

  3. LeetCode解题报告汇总! All in One!

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 把自己刷过的所有题目做一个整理,并且用简洁的语言概括了一下思路,汇总成了一个表格. 题目 ...

  4. 为什么iterator,foreach遍历时不能进行remove操作?除了一种情况可以这样(特殊情况)?

    Exception in thread "main" java.util.ConcurrentModificationException 并发修改异常引发的思考! 1 foreac ...

  5. for 、foreach 、iterator 三种遍历方式的比较

    习惯用法 for.foreach循环.iterator迭代器都是我们常用的一种遍历方式,你可以用它来遍历任何东西:包括数组.集合等 for 惯用法: List<String> list = ...

  6. JAVA中的for-each循环与迭代

    在学习java中的collection时注意到,collection层次的根接口Collection实现了Iterable<T>接口(位于java.lang包中),实现这个接口允许对象成为 ...

  7. 集合框架遍历方式之——for-each循环

    从Java5起,在Java中有了for-each循环,可以用来循环遍历collection和array.Foreach循环允许你在无需保持传统for循环中的索引,或在使用iterator /ListI ...

  8. YUI Array 之each| forEach(遍历)

    1. yui-each原码: 遍历YArray.each = YArray.forEach = Lang._isNative(Native.forEach) ? function (array, fn ...

  9. 使用Iterator遍历Sheet(POI)验证及解释结果有序性

    test.xlsx: Code: package poi; import static org.junit.Assert.*; import java.io.IOException; import j ...

随机推荐

  1. Mac进行 usr/bin 目录下修改权限问题,operation not permitted

    一般情况下我们在使用mac系统过程中下载一些文件.新建一些项目之后,这些文件都会默认是只读状态,这时我们只需要简单的一句权限设置命令就可以解决 你要修改文件上层目录的路径 但是我们在对 usr/bin ...

  2. elementUi源码解析(1)--项目结构篇

    因为在忙其他事情好久没有更新iview的源码,也是因为后面的一些组件有点复杂在考虑用什么方式把复杂的功能逻辑简单的展示出来,还没想到方法,突然想到element的组件基本也差不多,内部功能的逻辑也差不 ...

  3. 技术趋势:React vs Vue vs Angular

    React.Vue 和 Angular 这两年发展状况如何?2019 年哪个技术最值得学习? 前几天 Medium 上有一位作者发表了一篇关于 React.Vue 和 Angular 技术趋势的文章( ...

  4. 妙谈js回调函数的理解!

    很有共鸣,之前也是一直对回调函数感觉不明不白的,自己也看了不少解释说明.后来我觉得造成很多人对回调理解困难的一个原因就是,我在开发中见到的大多数使用了回调函数的情况都是直接上来就 传一个回调函数进去 ...

  5. app.use和app.get,app.post区别

    express中,express的实例app: app.use(path,callback)中的callback既可以是router对象又可以是函数 app.get(path,callback)中的c ...

  6. Linux -- nginx

    一. 网络服务 web服务器和web框架的关系 web服务器(nginx):接收HTTP请求(例如www.baidu.com)并返回数据 web框架(django,flask):开发web应用程序,处 ...

  7. Angular 框架下ng-repeat内部使用tooltip插件的办法

    普通情况下 <button type="button" class="btn btn-default" data-toggle="tooltip ...

  8. python之常用模块二(hashlib logging configparser)

    摘要:hashlib ***** logging ***** configparser * 一.hashlib模块 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 摘要算法 ...

  9. 第六十九天 dom与bom

    1.节点 dom与bom属 // DOM:文档对象模型 =>提高给用户操作document obj的标准接口 // DOM:以document为根,树状展开所有子节点 节点分类 // 节点分类: ...

  10. 第六十七天 js动画

    1.事件总结 鼠标事件 var box = document.querySelect('.box') // 1.点击事件 box.onclick = function(){ console.log(' ...