s:iterator间接实现跳出循环

在用s:iterator遍历小组成员时需要过滤出管理员,然后在找到第一个管理员以后停止循环,下面是我的代码:

[javascript] view plain copy print?

  1. <s:set name="index" value="1" />
  2. <s:iterator value="#detail.members" var="memeber" id="memeber" status="status">
  3. <s:if test=‘%{#memeber.attr1 == "admin" }‘>
  4. <s:if test="#index==1">
  5. <s:set name="index" value="2" />
  6. <s:property value="#memeber.nickName"/>
  7. </s:if>
  8. </s:if>
  9. </s:iterator>

s:if可以合成一个,这里写成两个方便大家理解,这样做的实质没有跳出循环,但是巧妙的控制了循环的次数。

时间: 2024-10-09 11:26:32

s:iterator间接实现跳出循环的相关文章

s:iterator巧妙控制跳出循环

<s:set name="index" value="1" /> <s:iterator value="#detail.members" var="memeber" id="memeber" status="status"> <s:if test='%{#memeber.attr1 == "admin" }'> <s:if t

Java源码分析:深入探讨Iterator模式

作者:兄弟连 java.util包中包含了一系列重要的集合类.本文将从分析源码入手,深入研究一个集合类的内部结构,以及遍历集合的迭代模式的源码实现内幕. 下面我们先简单讨论一个根接口Collection,然后分析一个抽象类AbstractList和它的对应Iterator接口,并仔细研究迭代子模式的实现原理. 本文讨论的源代码版本是JDK 1.4.2,因为JDK 1.5在java.util中使用了很多泛型代码,为了简化问题,所以我们还是讨论1.4版本的代码. 集合类的根接口Collection

java提高篇(三十)-----Iterator

本文转载地址:            http://blog.csdn.net/chenssy/article/details/37521461 迭代对于我们搞Java的来说绝对不陌生.我们常常使用JDK提供的迭代接口进行Java集合的迭代. [java] view plaincopyprint? Iterator iterator = list.iterator(); while(iterator.hasNext()){ String string = iterator.next(); //d

iterator 的设计原则和traits

iterator我前面写过是作为algorithm和container之间的一个桥梁,algorithm进程操作的时候向iterator进行提问,iterator并对提问进行了回答,其中主要就是回答5个特性 1:iterator_category:迭代器移动性质,比如说有的迭代器只能向前移动++.有的迭代器可以双向移动,有的迭代器只能一个一个移动,有的迭代器可以跳跃式移动 2:value_type:就是迭代器的类型 3:different_type :指的是范围,可能是begin到end,可能是

Iterator——迭代接口

迭代对于JAVA的来说绝对不陌生.我们常常使用JDK提供的迭代接口进行Java集合的迭代. Iterator iterator = list.iterator();           while(iterator.hasNext()){               String string = iterator.next();               //do something           } 迭代其实我们可以简单地理解为遍历,是一个标准化遍历各类容器里面的所有对象的方法类,它

C++ STL中的 iterator 和 const_iterator

我们在C++中使用STL的容器时,经常会用到迭代器.使用迭代器可以很方便的进行容器元素遍历和修改等操作. 近日,在使用Visual Studio 2015编程的时候发现,set的迭代器直接就是const_iterator类型,而vector的迭代器则是普通的iterator类型,这是为什么呢?今天就和大家一起来探究一下. Set/Map类型 1 set<int>::iterator it1; 2 map<int,int>::iterator it2; 3 it1 = set1.be

HashMap vs ConcurrentHashMap — 示例及Iterator探秘

如果你是一名Java开发人员,我能够确定你肯定知道ConcurrentModificationException,它是在使用迭代器遍历集合对象时修改集合对象造成的(并发修改)异常.实际上,Java的集合框架是迭代器设计模式的一个很好的实现. Java 1.5引入了java.util.concurrent包,其中Collection类的实现允许在运行过程中修改集合对象. ConcurrentHashMap是一个与HashMap很相似的类,但是它支持在运行时修改集合对象. 让我们通过一个简单的程序来

实战c++中的string系列--string的遍历(使用下标还是iterator)

迭代器提供了访问容器中对象的方法.例如,可以使用一对迭代器指定list或vector中的一定范围的对象.迭代器就如同一个指针.事实上,C++的指针也是一种迭代器.但是,迭代器也可以是那些定义了operator*()以及其他类似于指针的操作符地方法的类对象. 我们都知道可以用下标运算来访问string对象和vector对象.而另外还有一种更通用的方法也可以实现这样的方法.名曰:迭代器(iterator). 类似于指针,迭代器也提供了对对象的间接访问.就迭代器而言,其对象是容器中的元素或者strin

Q&amp;A:string、vector、iterator、bitset

细节要点 getline(cin,string)与cin>>string 在VS2013中通过输入换行符\n,对getline以及cin的用法进行测试,但是并没有像文中所述遇到换行符停止读入.而是ReadKey回车后停止读取. getline这个函数接受两个参数: 一个输入流对象和一个 string 对象.getline 函数从输入流的下一行读取,并保存读取的内容到不包括换行符.和输入操作符不一样的是,getline 并不忽略行开头的换行符.只要 getline 遇到换行符,即便它是输入的第一