Student.java

  1. package action;
  2.  
  3. public class Student {
  4.  
  5. private Long sid;
  6. private String name;
  7.  
  8. public Student() {
  9. // TODO Auto-generated constructor stub
  10. }
  11. public Student(Long sid,String name) {
  12. this.sid=sid;
  13. this.name=name;
  14. }
  15. public Long getSid() {
  16. return sid;
  17. }
  18. public void setSid(Long sid) {
  19. this.sid = sid;
  20. }
  21. public String getName() {
  22. return name;
  23. }
  24. public void setName(String name) {
  25. this.name = name;
  26. }
  27.  
  28. }

ClassHelloAction.java

  1. package action;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5. import java.util.List;
  6. import java.util.Map;public class ClassHelloAction extends AbstractAjaxAction {
  7.  
  8. private String message;
  9. private List<String> names;
  10. private List<Student> stus;
  11. private Map<String, Object> map;
  12. private Map<String,List<Student>> stuMaps;
  13. private List<Map<String,Student>> listMap;
  14.  
  15. public List<Map<String, Student>> getListMap() {
  16. return listMap;
  17. }
  18.  
  19. public void setListMap(List<Map<String, Student>> listMap) {
  20. this.listMap = listMap;
  21. }
  22.  
  23. public Map<String, List<Student>> getStuMaps() {
  24. return stuMaps;
  25. }
  26.  
  27. public void setStuMaps(Map<String, List<Student>> stuMaps) {
  28. this.stuMaps = stuMaps;
  29. }
  30.  
  31. public List<Student> getStus() {
  32. return stus;
  33. }
  34.  
  35. public Map<String, Object> getMap() {
  36. return map;
  37. }
  38.  
  39. public void setMap(Map<String, Object> map) {
  40. this.map = map;
  41. }
  42.  
  43. public void setStus(List<Student> stus) {
  44. this.stus = stus;
  45. }
  46.  
  47. public List<String> getNames() {
  48. return names;
  49. }
  50.  
  51. public void setNames(List<String> names) {
  52. this.names = names;
  53. }
  54.  
  55. public String getMessage() {
  56. return message;
  57. }
  58.  
  59. public void setMessage(String message) {
  60. this.message = message;
  61. }
  62.  
  63. public String execute() throws Exception {
  64.  
  65. this.stuMaps=new HashMap<String, List<Student>>();
  66. List<Student> list1=new ArrayList<Student>();
  67. list1.add(new Student(1L,"aa"));
  68. list1.add(new Student(2L,"bb"));
  69. list1.add(new Student(3L,"cc"));
  70. list1.add(new Student(4L,"dd"));
  71.  
  72. List<Student> list2=new ArrayList<Student>();
  73. list2.add(new Student(1L,"qq"));
  74. list2.add(new Student(2L,"ww"));
  75. list2.add(new Student(3L,"ee"));
  76. list2.add(new Student(4L,"rr"));
  77. //List<Student>
  78. stus=new ArrayList<Student>();
  79. stus.addAll(list1);
  80. stus.addAll(list2);
  81.  
  82. //Map<String,Object>
  83. this.map=new HashMap<String, Object>();
  84. map.put("1", "广州");
  85. map.put("2", "珠海");
  86. map.put("3", "东莞");
  87. map.put("4", "佛山");
  88.  
  89. //Map<string,List<Student>>
  90. stuMaps.put("一班", list1);
  91. stuMaps.put("二班", list2);
  92.  
  93. //List<Map<String,Student>>
  94. this.listMap=new ArrayList<Map<String,Student>>();
  95. Map<String,Student> map1=new HashMap<String, Student>();
  96. map1.put("1号", new Student(1L,"鸣人"));
  97. map1.put("2号", new Student(2L,"佐助"));
  98. Map<String,Student> map2=new HashMap<String, Student>();
  99. map1.put("3号", new Student(3L,"路飞"));
  100. map1.put("4号", new Student(4L,"索隆"));
  101. listMap.add(map1);
  102. listMap.add(map2);
  103.  
  104. return "success";
  105.  
  106. }
  107.  
  108. }

1、遍历Map<String,Object>

<div style="float: left; border:thin solid;" >
        <p>遍历Map&lt;String,Objecg&gt;</p>
        <ul>
            <s:iterator value="map" id="id">
                <li><s:property value="#id.key" />:<s:property
                        value="#id.value" /></li>
            </s:iterator>
        </ul>
    </div>

2、遍历Map<String,List<Student>>

<div style="float: left;border: thin solid;">
        <p>遍历Map&lt;String,List&lt;Student&gt;&gt;</p>
        <ul>
            <s:iterator value="stuMaps" id="id" status="st">

<li><s:property value="#id.key" />: <s:select list="#id.value"
                        id="stu" listKey="sid" listValue="name"></s:select></li>

</s:iterator>
        </ul>
    </div>

3、遍历List<Map<String,Student>>

<div style="float: left;border:thin solid;">
        <p>遍历List&lt;Map&lt;String,Student&gt;&gt;</p>
        <ul>
            <s:iterator value="listMap" id="map" status="st">
                <s:iterator value="#map" id="mk" status="sa">
                    <li><s:property value="#mk.key" />:<s:property
                            value="#mk.value.name" /></li>
                </s:iterator>
            </s:iterator>
        </ul>
    </div>

4、index.jsp页面效果:

使用Struts2标签遍历集合的更多相关文章

  1. struts2标签 遍历map集合

    首先我们来构造几个map集合.    假设如下代码 都是在ssh配置环境下搭建好,(至少struts2开发环境搭建好) (1).java 代码          下面的student对象包含的字段为 ...

  2. Struts2标签遍历List<Map<String,String>>

    <s:if test="resultList != null && resultList.size() > 0"> <s:iterator  ...

  3. jquery遍历集合&数组&标签

      jquery遍历集合&数组的两种方式 CreateTime--2017年4月24日08:31:49Author:Marydon 方法一: $(function(){ $("inp ...

  4. JSTL详解(常用标签以及c:forEach遍历集合)

    JSTL标签 一. JSTL的简介 1. 什么是JSTL 2. JSTL常用标签库 3. JSTL使用步骤 二. 核心标签库常用标签 1. c: set 标签 2. c: out 标签 3. c: i ...

  5. 用struts2标签如何从数据库获取数据并在查询页面显示。最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量。

    最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变 ...

  6. struts2标签

    一.通用标签 1.property     Name Required Default Evaluated Type Description default false   false String ...

  7. Struts2标签简介

    Struts2标签简介 Struts2标签的优势 标签库简化了用户对标签的使用 结合OGNL使用,对于集合.对象的访问功能非常强大 提供可扩展的主题.模板支持,极大简化了视图页面的编写 不依赖任何表现 ...

  8. Struts2标签库

    一. 写jsp页面的时候,在struts2中,用的是s标记,先引入标记: <%@ taglib prefix="s" uri="/struts-tags" ...

  9. Struts2 标签库讲解

    要使用Struts2的标签,只需要在JSP页面添加如下一行定义即可: <%@ taglib prefix="s" uri="/struts-tags"%& ...

随机推荐

  1. Atitit 热更新资源管理器 自动更新管理器 功能设计

    Atitit 热更新资源管理器 自动更新管理器 功能设计 · 多线程并行下载支持 · 两层进度统计信息:文件级以及字节级 · Zip压缩文件支持 · 断点续传 · 详细的错误报告 · 文件下载失败重试 ...

  2. jqGrid实现当前页列合计与总计

    当前页列合计    js代码如下:   ... footerrow: true, gridComplete: function () { var rowNum = parseInt($(this).g ...

  3. HTTP协议从入门到大牛,初识HTTP协议(学习笔记)

    HTTP数据传输协议 当访问一个网页时,浏览器会向服务器发起一条HTTP请求,接着服务器会去寻找相应的资源,如果请求成功,就会把这个对象,对象类型,对象长度以及其他的信息放在HTTP响应中,发送给客户 ...

  4. 咱们来聊聊JS中的异步,以及如何异步,菜鸟版

    为什么需要异步?why?来看一段代码. 问题1: for(var i=0;i<100000;i++){ } alert('hello world!!!'); 这段代码的意思是执行100...次后 ...

  5. PNG使用技巧 PNG的使用技巧

    PNG的格式和透明度 这个Fireworks会比较清楚,打开Fireworkd优化面板,可以清楚看到png有3种不同深度的格式:png8.png24.png32. 其中,在优化面板选择png8,可发现 ...

  6. 了解HTML表单之input元素的30个元素属性

    目录 传统属性 name type accept alt checked disabled readonly maxlength size src value 新增属性 autocomplete au ...

  7. python--基础学习(三)字符串单引号、双引号、三引号

    1.基本认识 单引号字符串:'python' 双引号字符串:"python" 三引号字符串:'''python'''(三单引号),"""python& ...

  8. 拓扑排序(二)之 C++详解

    本章是通过C++实现拓扑排序. 目录 1. 拓扑排序介绍 2. 拓扑排序的算法图解 3. 拓扑排序的代码说明 4. 拓扑排序的完整源码和测试程序 转载请注明出处:http://www.cnblogs. ...

  9. 邻接矩阵有向图(一)之 C语言详解

    本章介绍邻接矩阵有向图.在"图的理论基础"中已经对图进行了理论介绍,这里就不再对图的概念进行重复说明了.和以往一样,本文会先给出C语言的实现:后续再分别给出C++和Java版本的实 ...

  10. [译]对 AngularJS 模板的A/B测试

    编者按:本文翻译自 Andrei Bondarev 在 Medium 上发布的"A/B Testing your AngularJS Templates ",Andrei 是一名工 ...