`

iterator 迭代标签 在迭代map的时候的巧妙使用

jsp 
阅读更多

List<Map<String,Object>> maps = new ArrayList<Map<String,Object>>();

 

Map<String,Object> map1 = new HashMap<String,Object>();

Person person1 = new Person();

person1.setPid(1L);
person1.serPname("person1")

map1.put("m1",person1);
-------------------------------------------------------
Map<String,Object> map2 = new HashMap<String,Object>();

Person person2 = new Person();

person2.setPid(2L);
person2.serPname("person2")

map2.put("m2",person2);
------------------------------
maps.add(map1);

maps.add(map2);

// 把List集合放到map栈里边了
ActionContext.getContext().put("maps",maps);


------------------------------------------------------------------
在jsp中迭代出来 List<Map<String,Object>> maps

在迭代map的时候 可以利用这种方式

<s:property value="key"/>
<s:property value="value"/>
-----------------------------------
<s:iterator value="maps">

<!---我这里的Map 代表了List集合中的每一个元素,
当迭代List的时候,把把list中的每一个元素也就是每一个Map依次放到了栈顶
->

 <s:iterator> <!--注意iterator标签莫有value属性的时候 就默认迭代栈顶的元素-->

 <!--还可以使用top关键字,也是默认迭代栈顶的元素-->
             <s:iterator value="top"> <!--当每一个Map被放到栈顶的时候,在迭代Map中的每一个Person-->

                               <s:property value="key"/>
                               <s:property value="value.pid"/>
                  <s:property value="value.pname"/> <!--vlaue就是在Map的value位置上就代表了一个Person-->
            </s:iterator>

</s:iterator>

-----------------------------------------------------------------
Map<String,List>

<s:iterator value="map">
     <s:property value="key">
 
<!--value就代表Map中的value,因为是在Map的value位置上是一个List集合,所以用iterator迭代-->
      <s:iterator value="value">
                   <s:property value="pid">
                   <s:property value="pname">
 
       </s:iterator>  

</s:iterator>

分享到:
评论

相关推荐

    Map、Set、Iterator迭代详解

    Map接口定义了四种类型的方法,每个Map都包含这些方法。 equals(Object o)比较指定对象与此Map的等价性。 hashCode()返回此Map的哈希码。 Map定义了几个用于插放和删除元素的变换方法。 remove(Object key) 从Map中...

    java循环Map java迭代Map

    Iterator it = a.entrySet().iterator(); while (it.hasNext()) { Map.Entry pairs = (Map.Entry) it.next(); System.out.println(pairs.getValue()); } //以下方法需要jdk5以上支持 //方法二 for(String str:...

    Iterator迭代器的简单介绍与使用

    集合遍历接口java.util.Iterator,Iterator接口也是Java集合中的一员,但它与Collection、Map接口有所不同,Collection接口与Map接口主要用于存储元素,而Iterator主要用于迭代访问(即遍历)Collection中的元素,...

    计算部分的数量树- 了解树的表示方法Map容器- 了解如何日用标准库中的map容器以及迭代器递归- 了解如何构造一个递归的解决方案去解决一个问题

    计算部分的数量 前提, 目标, 结果 前提: 学生需要掌握以下机能 • 树- 了解树的表示方法 • Map容器- 了解如何日用标准库中的map容器以及迭代器 • 递归- 了解如何构造一个递归的解决方案去解决一个问题

    java中set、list和map的使用方法实例

    // 迭代器(Iterator)模式,又叫做游标(Cursor)模式。 // GOF给出的定义为:提供一种方法访问一个容器(container)对象中的各个元素, // 而又不需暴露该对象的内部细节。 // 学习set对象容器的使用 // set容器...

    ES6 迭代器(Iterator)和 for.of循环使用方法学习(总结)

    Iterator可以使我们不需要初始化集合,以及索引的变量,而是使用迭代器对象的 next 方法,返回集合的下一项的值,偏向程序化。 迭代器是带有特殊接口的对象。含有一个next()方法,调用返回一个包含两个属性的对象,...

    详谈ES6中的迭代器(Iterator)和生成器(Generator)

    新的数组方法和新的集合类型(如Set集合与Map集合)都依赖迭代器的实现,这个新特性对于高效的数据处理而言是不可或缺的,在语言的其他特性中也都有迭代器的身影:新的for-of循环、展开运算符(…),甚至连异步编程都...

    python中实现迭代器(iterator)的方法示例

    我们经常需要遍历一个对象中的元素,在Python中这种功能是通过迭代器来实现的。下面这篇文章主要给大家介绍了python中实现迭代器(iterator)的方法示例,需要的朋友可以参考借鉴,下面来一起看看吧。

    详解ES6语法之可迭代协议和迭代器协议

    可迭代协议允许 JavaScript 对象去定义或定制它们的迭代行为, 例如(定义)在一个 for..of 结构中什么值可以被循环(得到)。一些内置类型都是内置的可迭代对象并且有默认的迭代行为, 比如 Array or Map, 另一些类型...

    Struts2+API+标签全解+网页说明

    将多个集合使用一个&lt;iterator/&gt;标签完成迭代。 generatot标签:将指定的字符串按照规定的分隔符分解成多个子字符串。 merge标签:将多个集合拼接在一起。 subset标签:获取某个集合的子集合。 sort标签:多指定...

    一个简单的利用map关联容器进行单词转换的实例

    在做简单的文本搜索系统时,我们会遇到需要将像nah,cuz等俚语转化为no,because等诸如此类的问题。利用MAP关联容器进行键值对应的转化是十分方便的。...是对map的建立,迭代,删除等一些基本使用方法的练习。

    Java 集合类(HashSet、ArrayList、LinkedList、HashMap).pptx

    掌握List集合、Set集合、Map集合的使用以及Iterator迭代器和foreach循环的使用 了解常用的集合类 熟悉泛型的使用

    chimes:任何迭代器的 `Array.prototype` 迭代方法

    很难证明在 ES6 中使用新的可迭代数据结构是合理的,因为与数组相比,它们严重缺乏表达能力,例如没有 map/filter/reduce 等。这个库的目标是将数组的表达能力添加到任何可迭代的东西,包括发电机。 当前的实施是...

    Android编程设计模式之迭代器模式详解

    迭代器模式算是一个比较古老的设计模式,其源于对容器的访问,比如Java中的List、Map、数组等,我们知道对容器对象的访问必然会涉及遍历算法,我们可以将遍历的方法封装在容器中,或者不提供遍历方法。如果我们将...

    JavaScript中的迭代器和生成器详解

    处理集合里的每一项是一个非常普通的操作,JavaScript提供了许多方法来迭代一个集合,从简单的for和for each循环到 map(),filter() 和 array comprehensions(数组推导式)。在JavaScript 1.7中,迭代器和生成器在...

    C++如何删除map容器中指定值的元素详解

    前言 ...//插入val到pos的后面,然后返回一个指向这个元素的迭代器 iterator insert( iterator pos, const pair&lt;KEY&gt; &val ); //插入start到end的元素到map中 void insert( input_iterator start, i

    map操作详解

    详细介绍了map的插入,删除,迭代,构造函数等操作

    对Python中Iterator和Iterable的区别详解

    因为和迭代器相比有一个很大的不同,list/truple/map/dict这些数据的大小是确定的,也就是说有多少事可知的。但迭代器不是,迭代器不知道要执行多少次,所以可以理解为不知道有多少个元素,每调用一次next(),就会往...

    struts2 标签库 帮助文档

    将多个集合使用一个&lt;iterator/&gt;标签完成迭代。 generatot标签:将指定的字符串按照规定的分隔符分解成多个子字符串。 merge标签:将多个集合拼接在一起。 subset标签:获取某个集合的子集合。 sort标签:多指定...

    C++中 map的基本操作

    1、map简介 map是一类关联式容器。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响。对于迭代器来说,可以修改实值,而不能...使用map得包含map类所在的头文件 #include

Global site tag (gtag.js) - Google Analytics