使用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 热更新资源管理器 自动更新管理器 功能设计
Atitit 热更新资源管理器 自动更新管理器 功能设计 · 多线程并行下载支持 · 两层进度统计信息:文件级以及字节级 · Zip压缩文件支持 · 断点续传 · 详细的错误报告 · 文件下载失败重试 ...
- jqGrid实现当前页列合计与总计
当前页列合计 js代码如下: ... footerrow: true, gridComplete: function () { var rowNum = parseInt($(this).g ...
- HTTP协议从入门到大牛,初识HTTP协议(学习笔记)
HTTP数据传输协议 当访问一个网页时,浏览器会向服务器发起一条HTTP请求,接着服务器会去寻找相应的资源,如果请求成功,就会把这个对象,对象类型,对象长度以及其他的信息放在HTTP响应中,发送给客户 ...
- 咱们来聊聊JS中的异步,以及如何异步,菜鸟版
为什么需要异步?why?来看一段代码. 问题1: for(var i=0;i<100000;i++){ } alert('hello world!!!'); 这段代码的意思是执行100...次后 ...
- PNG使用技巧 PNG的使用技巧
PNG的格式和透明度 这个Fireworks会比较清楚,打开Fireworkd优化面板,可以清楚看到png有3种不同深度的格式:png8.png24.png32. 其中,在优化面板选择png8,可发现 ...
- 了解HTML表单之input元素的30个元素属性
目录 传统属性 name type accept alt checked disabled readonly maxlength size src value 新增属性 autocomplete au ...
- python--基础学习(三)字符串单引号、双引号、三引号
1.基本认识 单引号字符串:'python' 双引号字符串:"python" 三引号字符串:'''python'''(三单引号),"""python& ...
- 拓扑排序(二)之 C++详解
本章是通过C++实现拓扑排序. 目录 1. 拓扑排序介绍 2. 拓扑排序的算法图解 3. 拓扑排序的代码说明 4. 拓扑排序的完整源码和测试程序 转载请注明出处:http://www.cnblogs. ...
- 邻接矩阵有向图(一)之 C语言详解
本章介绍邻接矩阵有向图.在"图的理论基础"中已经对图进行了理论介绍,这里就不再对图的概念进行重复说明了.和以往一样,本文会先给出C语言的实现:后续再分别给出C++和Java版本的实 ...
- [译]对 AngularJS 模板的A/B测试
编者按:本文翻译自 Andrei Bondarev 在 Medium 上发布的"A/B Testing your AngularJS Templates ",Andrei 是一名工 ...