jsp struts标签迭代各种数据
首先创建一个User对象
User user=new User();
user.setUserName("张三");
user.setAge(30);
User user1=new User();
user1.setUserName("李四");
user1.setAge(32);
一、迭代List数据
List list=new ArrayList();
1、list中放User对象
list.add(user);list.add(user1);//list中有两条数据
jsp页面:
<s:iterator id="li" value="list">
姓名:<s:property value="#list.userName"/><br />
年龄:<s:property value="#list.age"/>
</s:iterator>
2、list中放String字符串
list.add("百度");
list.add("http://www.baidu.com");
jsp页面:
<s:iterator value="list" status="s" id="li">
List中的数据:<s:property />
是否是奇数行,是返回true,否则返回false:<s:property value="#s.odd"/>
是否是偶数行:<s:property value="#s.even"/>
当前行数(返回当前迭代了几个元素):<s:property value="#s.count"/>
list的下标:<s:property value="#s.index"/>
是否第一行:<s:property value="#s.first"/>
是否最后一行:<s:property value="#s.last"/>
当前行数取模:<s:property value="#s.modules(int)"/>
</s:iterator>
由于iterator status对象并不是ognl的根对象因此访问需要加上 #访问
二、迭代String数组
String[] str={"1","2","3"};
jsp页面:
<s:iterator value="str" status="s">
<s:iterator value="str[#s.index]"> <!--#s.index:获取下标 -->
<s:property value="str[#s.index][0]"/> <!--直接获取为0的数据,也就是数组中的第一个元素 -->
<s:property /> <!--遍历数组每一个元素-->
</s:iterator>
</s:iterator>
三、迭代Map
Map textMap=new HashMap();
1、map中放String字符串
textMap.put("1","happy");
textMap.put("2","metohappy");
jsp页面:
<s:iterator value="textMap" id="textMap">
key:${textMap.key}
value:${textMap.value}
还可以写成:
key: <s:property value="key"/><br>
value:<s:property value="value"/><br>
</s:iterator>
2、map中放User对象
textMap.put("1",user);
textMap.put("2",user1);
jsp页面:
<s:iterator value="textMap" id="textMap">
姓名:<s:property value="value.userName"/> <br />
年龄:<s:property value="value.age"/><br />
</s:iterator>
3、map中放String数组
String[] baidu={"baidu","http://www.baidu.com"};
String[] sogou={"sogou","http://www.sogou.com"};
textMap.put("1",baidu);
textMap.put("2",sogou);
jsp页面:
<s:iterator value="textMap" id="textMap">
<s:property value="value[0]"/>
<s:property value="value[1]"/>
</s:iterator>
4、map中放List
List list=new ArrayList();
List list1=new ArrayList();
①、list中放User对象
list.add(user);list.add(user1);//list中有两条数据
list1.add(user);list1.add(user1);//list1中有两条数据
textMap.put("1",list);
textMap.put("2",list1);
jsp页面:
<s:iterator value="textMap" id="textMap">
<s:set name="total" value="#textMap.value.size"/>
<s:iterator value="#textMap.value" status="s">
姓名:<s:property value="userName"/>
年龄:<s:property value="age"/>
</s:iterator>
</s:iterator>
②、List中放String字符串
list.add("百度");
list.add("http://www.baidu.com");
list1.add("搜狗");
list1.add("http://www.sogou.com");
textMap.put("1",list);
textMap.put("2",list1);
jsp页面:
<s:iterator value="textMap" id="textMap">
<s:set name="total" value="#textMap.value.size"/>
<s:iterator value="#textMap.value" status="s" id="li">
textMap的键:${textMap.key}
list中的值:<s:property />
</s:iterator>
</s:iterator>
原文:http://www.cnblogs.com/yezhenhan/archive/2011/12/21/2296069.html
http://blog.csdn.net/mr_walter/article/details/7930323
jsp struts标签迭代各种数据的更多相关文章
- struts2学习(8)struts标签1(数据标签、控制标签)
一.struts2标签简介: struts标签很多,功能强大,这是优点: 但是缺点的话,性能方面可能会,各方面速度啊啥的会降低:有人比较测试,struts性能比jstl低很多: 二.struts2 ...
- JSP的C标签遍历Map数据
JSP的C标签遍历Map数据 Map可以实现较为丰富的数据封装. 第一种: 控制器传递到页面的map格式如下: Map<String, User> dataMap = new HashMa ...
- <s:iterator>标签迭代数据不显示
<s:iterator>标签迭代数据不显示 <s:iterator value="#request.voteOptionList" var="voteO ...
- Struts标签、Ognl表达式、el表达式、jstl标签库这四者之间的关系和各自作用
我之前虽然会用,但是一直分不清彼此之间有什么区别,所以查找资料,将它们进行整合区分,加深了解, 一 介绍 1.Struts2的作用 Struts2标签库提供了主题.模板支持,极大地简化了视图页面的 ...
- struts标签与jstl标签互换
近期在做struts切换spring mvc时发现代码中使用了大量的struts标签,对常用的struts标签做了总结,首先需要引入 <%@ taglib prefix="c" ...
- Struts标签库详解【2】
==================================================================== 需要在head中用<s:head />标签 一.控 ...
- Spring MVC -- JSP标准标签库(JSTL)
JSP标准标签库(JavaServer Pages Standard Tag Library,JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能.JSTL支持通用的.结构化的任务,比如迭 ...
- ongl与Struts标签
一.ONGL OGNL 的全称是“Object-Graph Navigation Language”,即对象图导航语言,它是一种功能强大的开源表达式语言.使用这种表达式语言可以通过某种表达式语法存取 ...
- JSP 标准标签库(JSTL)
JSP 标准标签库(JSTL) JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签, ...
随机推荐
- Fiddler-004-配置过滤器之-域名过滤
前文讲述了通过 Fiddler 进行网络抓包的一个小实例,具体敬请参阅博文: 有些细心的小主可能发现了,我们捕获的 HTTP请求 中有一些请求不是我们需要的,而是一些非必要数据,页面如下图所示:
- vertical-align的理解
vertical-align的理解 定义和用法 vertical-align 属性设置元素的垂直对齐方式 该属性定义行内元素的基线相对于该元素所在行的基线的垂直对齐 也就是说 它只是个适用行内元素的属 ...
- Using dbms_shared_pool.purge to remove a single task from the library cache
我们都知道可是使用 alter system flush shared_pool 来清除shared pool 信息,当时不能指定清除某个对象.因为在系统繁忙的时侯 使用 alter system f ...
- CentOS 6.8内核版本升级(升级至3.10)(转)
1.查看当前版本 [root@www.linuxidc.com docker]# cat /etc/issue CentOS release 6.8 (Final) Kernel \r on an \ ...
- Linux就这个范儿 第8章 我是Makefile
Linux就这个范儿 第8章 我是Makefile P287 Makefile的作用就是——自动化编译,一旦写好,只需要一个make命令(解析Makefile,执行Makefile中描述的操作),整个 ...
- APICloud上有关iOS证书的一些问题
1. 苹果开发者账号及其区别: 苹果的开发者账号分为个人.公司和企业三类. 个人是99$一年,只能个人使用,可以提交应用到AppStore: 公司的也是99$,但是可以邀请其它成员一起使用,可以提交应 ...
- iptables常用操作
1.iptables服务重启 service iptables restart 2.保存iptables规则 iptables-save > ~/iptables.save 3.恢复iptabl ...
- Java8 新特性default
在JDK1.8的Iterator接口中 package java.util; import java.util.function.Consumer; public interface Iterator ...
- MVC 应用程序级别捕捉异常
捕捉异常: using System; using System.IO; using System.Net; using System.Net.Http; using System.Net.Http. ...
- css页面布局
写在前面: 页面布局整体上可以分为两类:固定宽度(一般固定960px):流式布局:将流式布局转换为固定布局很容易,只需要外围再包括一个div,为其设置宽度即可. html默认的布局方式是将每个块状标签 ...