首先创建一个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标签迭代各种数据的更多相关文章

  1. struts2学习(8)struts标签1(数据标签、控制标签)

    一.struts2标签简介: struts标签很多,功能强大,这是优点: 但是缺点的话,性能方面可能会,各方面速度啊啥的会降低:有人比较测试,struts性能比jstl低很多:   二.struts2 ...

  2. JSP的C标签遍历Map数据

    JSP的C标签遍历Map数据 Map可以实现较为丰富的数据封装. 第一种: 控制器传递到页面的map格式如下: Map<String, User> dataMap = new HashMa ...

  3. <s:iterator>标签迭代数据不显示

    <s:iterator>标签迭代数据不显示 <s:iterator value="#request.voteOptionList" var="voteO ...

  4. Struts标签、Ognl表达式、el表达式、jstl标签库这四者之间的关系和各自作用

    我之前虽然会用,但是一直分不清彼此之间有什么区别,所以查找资料,将它们进行整合区分,加深了解, 一 介绍 1.Struts2的作用   Struts2标签库提供了主题.模板支持,极大地简化了视图页面的 ...

  5. struts标签与jstl标签互换

    近期在做struts切换spring mvc时发现代码中使用了大量的struts标签,对常用的struts标签做了总结,首先需要引入 <%@ taglib prefix="c" ...

  6. Struts标签库详解【2】

    ==================================================================== 需要在head中用<s:head />标签 一.控 ...

  7. Spring MVC -- JSP标准标签库(JSTL)

    JSP标准标签库(JavaServer Pages Standard Tag Library,JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能.JSTL支持通用的.结构化的任务,比如迭 ...

  8. ongl与Struts标签

    一.ONGL OGNL 的全称是“Object-Graph Navigation Language”,即对象图导航语言,它是一种功能强大的开源表达式语言.使用这种表达式语言可以通过某种表达式语法存取  ...

  9. JSP 标准标签库(JSTL)

    JSP 标准标签库(JSTL) JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签, ...

随机推荐

  1. Java学习-033-JavaWeb_002 -- 网页标记语言JSP基础知识

    JSP 是 Sun 公司提倡的一门网页技术标准.在 HTML 文件中,加入 Java 代码就构成了 JSP 网页,当 Web 服务器访问 JSP 请求的时候,首先执行其中的 Java 程序源码,然后以 ...

  2. ubuntu 12.04安装jdk1.8

    转自http://blog.chinaunix.net/uid-26404477-id-3471246.html 在安装之前,系统没有任何jdk软件,也就是说在终端执行 java -version 将 ...

  3. 我的工具箱之TortoiseSVN-1.7.11.236000

    下载地址:http://pan.baidu.com/s/1hqY3h6c SVN windows版,项目团队合作必要的协作工具.

  4. tomcat启动出现PermGen space错误

    今天部署项目时,出现了jvm内存溢出的问题,显示PermGen  space错误. 经过不断的努力,终于解决出来了. 步骤如下: 在eclipse中菜单栏run-->RunConfigurati ...

  5. [BS-15] Values of type 'NSInteger' should not be used as format arguments

    Values of type 'NSInteger' should not be used as format arguments 苹果app支持arm64以后会有一个问题:NSInteger变成64 ...

  6. Activity的四种启动模式-图文并茂

    1.对于使用standard 模式的活动,系统不会在乎这个活动是否已经在返回栈中存在,每次启动都会创建该活动的一个新的实例.   例如A启动A,A再接着启动A,A继续启动A,然后再分别出栈,如图所示 ...

  7. 面向对象编程(八)——this关键字

    很多人一提起它,就说“当前对象”,可到底什么是当前对象,是什么当前对象,他自己也不清楚. this(隐式参数) 普通方法中,this总是指向当前调用该方法的对象. 构造方法中,this总是指向正要初始 ...

  8. 网页flv下载探索_1

    最近看了一个优酷视频(非优酷网站,最终地址指向优酷),用chrome开发者工具,可找到flv地址如下,简单摘录如下: http://27.221.100.104/657D4D2878C3382C781 ...

  9. java web工程读取及修改配置文件

    这篇博客比自己讲解的详细: http://blog.sina.com.cn/s/blog_69398ed9010191jg.html 使用方法: 1)配置文件在web-info的class目录下,或者 ...

  10. Baseline模板管理

    SQL> alter session set NLS_DATE_FORMAT= 'yyyy-mm-dd hh24:mi:ss'; 创建单一基线模板: SQL> exec dbms_work ...