使用Struts2标签遍历集合
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<String,Objecg></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<String,List<Student>></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<Map<String,Student>></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标签遍历集合的更多相关文章
- struts2标签 遍历map集合
首先我们来构造几个map集合. 假设如下代码 都是在ssh配置环境下搭建好,(至少struts2开发环境搭建好) (1).java 代码 下面的student对象包含的字段为 ...
- Struts2标签遍历List<Map<String,String>>
<s:if test="resultList != null && resultList.size() > 0"> <s:iterator ...
- jquery遍历集合&数组&标签
jquery遍历集合&数组的两种方式 CreateTime--2017年4月24日08:31:49Author:Marydon 方法一: $(function(){ $("inp ...
- JSTL详解(常用标签以及c:forEach遍历集合)
JSTL标签 一. JSTL的简介 1. 什么是JSTL 2. JSTL常用标签库 3. JSTL使用步骤 二. 核心标签库常用标签 1. c: set 标签 2. c: out 标签 3. c: i ...
- 用struts2标签如何从数据库获取数据并在查询页面显示。最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量。
最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变 ...
- struts2标签
一.通用标签 1.property Name Required Default Evaluated Type Description default false false String ...
- Struts2标签简介
Struts2标签简介 Struts2标签的优势 标签库简化了用户对标签的使用 结合OGNL使用,对于集合.对象的访问功能非常强大 提供可扩展的主题.模板支持,极大简化了视图页面的编写 不依赖任何表现 ...
- Struts2标签库
一. 写jsp页面的时候,在struts2中,用的是s标记,先引入标记: <%@ taglib prefix="s" uri="/struts-tags" ...
- Struts2 标签库讲解
要使用Struts2的标签,只需要在JSP页面添加如下一行定义即可: <%@ taglib prefix="s" uri="/struts-tags"%& ...
随机推荐
- Atitit 软件项目非法模块与功能的管理与 监狱管理的对比 原理与概论attilax总结
Atitit 软件项目非法模块与功能的管理与 监狱管理的对比 原理与概论attilax总结 软件项目中的非法模块非法功能非法分子与人类中的非法分子很是相似,必须要建议不同的的约束管理标准化... 软 ...
- JS操作页面
DOM操作 1 windows对象操作 属性(值或者子对象): opener:打开当前窗口的源窗口,如果当前窗口是首次启动浏览器打开的,则opener是null.可以利用这属性来关闭源窗口 方法(函数 ...
- iOS中app启动闪退的原因
这种情况应和所谓的内存不足关系不大,很少有程序会在初始化时载入大量内容导致崩溃,并且这类问题也很容易在开发阶段被发现,所以内存不足造成秒退的可能性低(内存不足退,通常是程序用了一段时间,切换了几个画面 ...
- Apache多站点实现原理和配置
Apache多站点实现原理 很多人常常看到一台服务器上跑多个站点,不同的域名访问不同的站点,就会有个疑惑:访问的时候并没有在地址栏中加入端口号,多个域名都是解析到这个服务器的IP地址,服务器怎么能够正 ...
- 【原创】NIO框架入门(二):服务端基于MINA2的UDP双向通信Demo演示
前言 NIO框架的流行,使得开发大并发.高性能的互联网服务端成为可能.这其中最流行的无非就是MINA和Netty了,MINA目前的主要版本是MINA2.而Netty的主要版本是Netty3和Netty ...
- 《PHP Manual》阅读笔记1
1.phpinfo() 从 PHP 获取系统信息. 2.$_SERVER 只是 PHP 自动全局化的变量之一.它包含了 web 服务器提供的所有信息,被称为超全局变量. 3.htmlspecialch ...
- 在 xampp 环境下安装 laravel
网上搜了很多教程,很多都是采用命令行安装的.但是对于web前端来说,根本就不知道在干吗! 于是,打算写一篇文章,来教后面的人如何在 XAMPP 环境下安装 laravel. 初步认识 XAMPP(Ap ...
- UML快速回顾
UML(Unified Modeling Language)统一建模语言的概念已经出现了近20年,虽然并不是所有的概念都非常有实践意义,但常见的用例图.类图.序列图和状态图却实实在在非常有效,是项目中 ...
- 深入理解javascript函数系列第一篇——函数概述
× 目录 [1]定义 [2]返回值 [3]调用 前面的话 函数对任何一门语言来说都是一个核心的概念.通过函数可以封装任意多条语句,而且可以在任何地方.任何时候调用执行.在javascript里,函数即 ...
- C#薪水和前途
这1,2年有更新简历,一直在看市场行情,最近这么多年在聊C#的薪水,我也说说我看到的情况,只限上海: 仅供大家参考: 高端职位: 纯技术,不谈管理, 一般是架构师职位,偶尔可能需要带团队, 猎头有报了 ...