Student.java

package action;

public class Student {

    private Long sid;
private String name; public Student() {
// TODO Auto-generated constructor stub
}
public Student(Long sid,String name) {
this.sid=sid;
this.name=name;
}
public Long getSid() {
return sid;
}
public void setSid(Long sid) {
this.sid = sid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
} }

ClassHelloAction.java

package action;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;public class ClassHelloAction extends AbstractAjaxAction { private String message;
private List<String> names;
private List<Student> stus;
private Map<String, Object> map;
private Map<String,List<Student>> stuMaps;
private List<Map<String,Student>> listMap; public List<Map<String, Student>> getListMap() {
return listMap;
} public void setListMap(List<Map<String, Student>> listMap) {
this.listMap = listMap;
} public Map<String, List<Student>> getStuMaps() {
return stuMaps;
} public void setStuMaps(Map<String, List<Student>> stuMaps) {
this.stuMaps = stuMaps;
} public List<Student> getStus() {
return stus;
} public Map<String, Object> getMap() {
return map;
} public void setMap(Map<String, Object> map) {
this.map = map;
} public void setStus(List<Student> stus) {
this.stus = stus;
} public List<String> getNames() {
return names;
} public void setNames(List<String> names) {
this.names = names;
} public String getMessage() {
return message;
} public void setMessage(String message) {
this.message = message;
} public String execute() throws Exception { this.stuMaps=new HashMap<String, List<Student>>();
List<Student> list1=new ArrayList<Student>();
list1.add(new Student(1L,"aa"));
list1.add(new Student(2L,"bb"));
list1.add(new Student(3L,"cc"));
list1.add(new Student(4L,"dd")); List<Student> list2=new ArrayList<Student>();
list2.add(new Student(1L,"qq"));
list2.add(new Student(2L,"ww"));
list2.add(new Student(3L,"ee"));
list2.add(new Student(4L,"rr"));
//List<Student>
stus=new ArrayList<Student>();
stus.addAll(list1);
stus.addAll(list2); //Map<String,Object>
this.map=new HashMap<String, Object>();
map.put("1", "广州");
map.put("2", "珠海");
map.put("3", "东莞");
map.put("4", "佛山"); //Map<string,List<Student>>
stuMaps.put("一班", list1);
stuMaps.put("二班", list2); //List<Map<String,Student>>
this.listMap=new ArrayList<Map<String,Student>>();
Map<String,Student> map1=new HashMap<String, Student>();
map1.put("1号", new Student(1L,"鸣人"));
map1.put("2号", new Student(2L,"佐助"));
Map<String,Student> map2=new HashMap<String, Student>();
map1.put("3号", new Student(3L,"路飞"));
map1.put("4号", new Student(4L,"索隆"));
listMap.add(map1);
listMap.add(map2); return "success"; } }

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. ELK日志应用平台搭建

    ELK架构: ElasticSearch:用于存储.索引日志. Logstash:用于收集.处理和转发事件或日志信息的工具. Kibana:搜索和可视化的日志的WEB界面. ELK优点: a.处理方式 ...

  2. Android笔记——了解SDK,数据库sqlite的使用

    一.adb是什么? adb的全称为Android Debug Bridge,就是起到调试桥的作用.通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具 ...

  3. 解析Visual Studio 2015促进生产力的10个新功能

    1 性能提示 Performance Tips 当我们想知道执行一段代码所耗费的时间时,需要借助于.NET 框架的Stopwatch类,像下面这样: class Program { static vo ...

  4. 浅谈Winform事件的实现以及模拟其事件的实现(附实现源码)

    当我们初学Winform的时候被其神奇的事件功能所吸引,当点击一个按钮时,便会跳到我们所写的点击方法当中去.然而这并不符合我们对方法的理解,究竟.net在后面帮助我们实现了什么.我们怎样模拟其事件的实 ...

  5. Js控制显示、隐藏文本框中的密码

    Js控制显示.隐藏文本框中的密码,也可称为是一款小型的JavaScript星号密码破解器,点击会显示出密码类型的文本框中的真实信息,再次点击则还原,程序 主要是获取HTML元素对象,然后强制更改元素属 ...

  6. Orlion个人博客 | 全栈工程师之路-www.orlion.ga

    自己用wordpress+bootstrap搭建了一个博客,网址http://www.orlion.ga,用来记录博主学习和成长,主要关注JAVA.LANMP.前端与客户端(Android).算法与数 ...

  7. android api sdk

    Platform Version API Level VERSION_CODE Notes Android 6.0 23 M API Changes Android 5.1 22 LOLLIPOP_M ...

  8. Android基于mAppWidget实现手绘地图(十一)–移动地图到某个坐标

    你可以使用以下几个方法: MapWidget.scrollMapTo(android.location.Location location); MapWidget.scrollMapTo(androi ...

  9. Android requires compiler compliance level 5.0 or 6.0. Found '1.8' instead. Please use Android Tools>Fix project Properties.

    重装操作系统之后,或者破坏了Android的开发环境之后,需要重新配置好Android的开发环境.但是配置好后,导入原有的项目时,报错: Android requires compiler compl ...

  10. 精选12个时尚的 CSS3 效果【附源码下载】

    这里是精选的12个很炫的 CSS3 效果.CSS3 是对 CSS 规范的一个很大的改善和增强,它使得 Web 开发人员可以很容易的在网站中加入时尚的效果.以前很多需要编写复杂的 JavaScript ...