关于jsp页面中iterator对于各种List的迭代

在之前写的一些项目中,在很多时候我们只是在jsp中通过iterator对于list<E>或者是Map<T>中的元素进行简单便利,但是如果是List<List<E>>呢,这就涉及到了iterator的双层迭代,不过在进入这一部分之前呢,我们首先学习一下在简单的list<E>时在jsp中使怎么遍历的,看代码:

<!--iterator 说明
    * 当前迭代的元素在栈顶
    * 如果value的值为top,则默认迭代栈顶元素
    * 如果value属性不写,则认为是迭代栈顶元素
  -->
  <s:iterator value="#session.list" var="list">
     <td><s:property  value="#list.dname"/></td>
      <td><s:property  value="#list.description"/></td>
      <td><a onclick="delete()">删除</a>
       <td><a onclick="update()">修改</a>
  </s:iterator >

但是如果是list集合中存着list呢,也就是List<List<E>>,这时候就需要用到双层迭代器,看代码:

<s:iterator >
     <s:iterator >
     <td><s:property  value="#list.dname"/></td>
      <td><s:property  value="#list.description"/></td>
      <td><a onclick="delete()">删除</a>
       <td><a onclick="update()">修改</a>
  </s:iterator >
  </s:iterator>

通过上面的双层迭代器可以迭代出存在list集合中的list中的元素,当然还有一种情况就是,llist集合中放map集合,也就是List<Map<E>>,如果是这样的话,如果想迭代出list集合中存的map集合中的元素,就应该这么迭代:

<s:iteraor  value="#list">
    <s:iterator value="top">
             <s:property  value="key"/>
               <s:property  value="value.dname"/>
    </s:iterator>
 </s:iterator>

说到这,我们也把最后一种情况表述一下,那就是map集合中放着list集合,也就是Map<List<E>>,那像这样的存储方式的话就应该像下面这样的方式去迭代:

<!--map中含有list-->
    <s:iterator value="#map">
       <s:property value="key"/>
        <!--该迭代就是一个list-->
          <s:iterator value="value">
               <s:property  value="dname"/>
                <s:property value="description"/>
          </s:iterator>
    </s:iterator>

所以在不同的集合中和不同的集合组合中,要通过不一样的迭代组合才能很好地遍历出所存储的元素,本次分享就到这里。

时间: 2024-10-08 14:40:36

关于jsp页面中iterator对于各种List的迭代的相关文章

在 jsp页面中遍历list中的数据

往往我们都会将查询到的数据显示到界面中,那么该如何在界面显示,请看下面的详解: 0)前提得在jsp页面中获取后台传过来的数据(在此为List集合): <% List itemCategoryList=(List)request.getAttribute("itemCategoryList"); %> 往往在前台显示的时候回使用三种方式,一个是使用for循环,另一个是使用循环迭代器iterator,最后还有一种是使用JSTL.下面分别来看如何进行操作: 1)使用for循环方式

Struts在jsp页面中的一些运用

计应134(实验班) 陈帮政 当Struts配置好了之后我们可以在jsp页面中运用Struts来进行表单的提交. Struts支持a标签,form表单等方式传值a标签通过herf标签来和Struts进行交互在herf中可以通过herf="xxx.acrion?yy=想传入的值"来进行值的传输 在form中则在action中指定Struts响应的action 如:<form action="Studentmassage.action"></form&

在action中将字符串、对象、list集合保存到值栈中,在jsp页面中获取的方法

转自:csdn 封装对象User,属性有id,username,email等1.1:在action中将字符串保存到值栈中   1.1.1 获取值栈对象         ValueStack stack = ActionContext.getContext().getValueStack();   1.1.2 将字符串保存到值栈中         stack.set("username","leo");1.2:在jsp页面中获取值栈中的字符串   1.2.1 <

JSP页面中中文乱码问题

在编写Jsp页面的时候,发现写入其中的中文在浏览器浏览的时候会出现乱码的情况. 出现乱码的原因分析: 因为页面中对自己的编码格式的声明和页面的实际编码格式不相同,导致的,所以解决办法就是将页面中的声明的编码格式与页面的实际编码格式设为同一个编码. 这个问题可以这样解决: 首先,在页面顶端,用page指令声明此页的编码格式,比如通过contentType="text/html, utf-8"声明为utf-8格式. 其次,通过project->properties->resou

jsp页面中jstl标签详解

JSLT标签库,是日常开发经常使用的,也是众多标签中性能最好的.把常用的内容,放在这里备份一份,随用随查.尽量做到不用查,就可以随手就可以写出来.这算是Java程序员的基本功吧,一定要扎实. JSTL全名为JavaServer Pages Standard Tag Library,目前最新的版本为1.1版.JSTL是由JCP(Java Community Process)所制定的标准规范,它主要提供给Java Web开发人员一个标准通用的标签函数库. Web程序员能够利用JSTL和EL来开发We

jsp页面中引用其他页面的方法

初看这个标题....大家的感觉一定是好2啊.....博主一定要说jsp的动态引用(jsp:include)和静态引用(@include)了.介绍这两者区别的文章已经烂大街了..一搜一大把..博主竟然还来介绍这些老古董..果断alt+F4... 如果你确实是这么想的...那请先别急着关闭页面...今天我来分享一下自己的理解,算是对烂大街的东西的一点补充吧...(后面文字会比较啰嗦) 首先先说明下为什么会去讨论这个话题. 我在写自己的博客程序的时候(blogv2.labofjet.com),程序中的

将flex页面嵌入到jsp页面中

如果我们只需要用到Flex的一部分功能,例如播放器功能,我们可以单独把Flex页面嵌入到Jsp页面中.要想实现此功能,需要下载一个工程,将其覆盖在服务器根目录下即可.你可以在次下载:FlexModule_j2ee.zip. 在eclipse下新建一个web工程,将刚才下载的工程解压缩,然后将webtier文件夹下的内容覆盖服务器根目录下,如本人的: 注意要将lib文件夹和jars文件夹下的jar包添加到到类路径下,这样就算是整合完成了吧. 接着新建一个flex的mxml文件PlayVideo.m

Java与Flex学习笔记(20)---将flex页面嵌入到jsp页面中

如果我们只需要用到Flex的一部分功能,例如播放器功能,我们可以单独把Flex页面嵌入到Jsp页面中.要想实现此功能,需要下载一个工程,将其覆盖在服务器根目录下即可.你可以在次下载:FlexModule_j2ee.zip. 在eclipse下新建一个web工程,将刚才下载的工程解压缩,然后将webtier文件夹下的内容覆盖服务器根目录下,如本人的: 注意要将lib文件夹和jars文件夹下的jar包添加到到类路径下,这样就算是整合完成了吧. 接着新建一个flex的mxml文件PlayVideo.m

在JSP页面中读取properties文件

在做web开发时,经常遇到要修改一下配置信息.如果把这些配置信息写在代码中,后期的维护便会比较麻烦.所以,一般都是把配置信息写在配置文件里面. 在JSP文件中,如果想要调用properties文件中的变量,则要在有文件中引入 java.util.ResourceBundle 类: <%@ page contentType="text/html; charset=UTF-8" import="java.util.ResourceBundle" %> 已知配