当前位置:  编程技术>java/j2ee

jsp页面循环集合操作整理

    来源: 互联网  发布时间:2014-10-19

    本文导语:  第一种:struts1.2循环遍历元素,name是结果集。引用标签库 主要用来处理在页面上输出集合类,集合一般来说是下列之一: 1、 java对象的数组 2、 ArrayList、Vector、HashMap等 例: 代码如下: name: password: iterate标记 id 脚本变...

第一种:struts1.2循环遍历元素,name是结果集。引用标签库
主要用来处理在页面上输出集合类,集合一般来说是下列之一:
1、 java对象的数组
2、 ArrayList、Vector、HashMap等
例:

代码如下:



name:

password:



iterate标记
id 脚本变量的名称,它保存着集合中当前元素的句柄。
name 代表了你需要叠代的集合,来自session或者request的属性。
type 是其中的集合类元素的类型
bean 的write标记是用来将属性输出的,name用来匹配iterate的id,property用来匹配相应类的属 性用法详解22007-04-04 20:34标记用于在页面中创建一个循环,以此来遍历如数组、Collection、Map这样的对象。该标 记的功能强大,在Struts应用的页面中经常使用到。

1、对数组进行循环遍历
使用标记可以用于遍历数组,以下是一段示例代码:
程序代码
代码如下:






在上面的代码中,首先定义了一个字符串数组,并为其初始化。接着,将该数组存入pageContext对象中,命名为test1。然后使 用标记的name属性指定了该数组,并使用id来引用它,同时使用标记 来将其显示出来。其结果为:
str1
str2
str3
另外,还可以通过length属性来指定输出元素的个数。如下面的代码:
程序代码


其中length属性指定了输出元素的个数,offset属性指定了从第几个元素开始输出,如此处为1,则表示从第二个元素开始输出。所以该代码的运行结果应当输出:
str2
str3
另外,该标记还有一个indexId属性,它指定一个变量存放当前集合中正被访问的元素的序号,如:
程序代码
代码如下:


:


其显示结果为:
1:str2
2:str3

2、对HashMap进行循环遍历
程序代码
代码如下:



:


在bean:write中通过property的key和value分别获得HaspMap对象的键和值。其显示结果为:
country5:德国
country3:英国
country2:美国
country4:法国
country1:中国

由结果可看出,它并未按添加的顺序将其显示出来。这是因为HaspMap是无序存放的。

3、嵌套遍历
程序代码
代码如下:










运行效果:
0 red green blue
1 中国 美国 法国
2 乔丹 布什 克林顿 [/size][/size][/color][/color]

第二种:struts2.0循环遍历元素,注:value是结果集。引用标签库
s:iterator 标签有3个属性:
value:被迭代的集合
id :指定集合里面的元素的id
status 迭代元素的索引
1:jsp页面定义元素写法 数组或list
代码如下:


A

打印结果为: 1A2A3A4A5A

2:索引的用法
如果指定了status,每次的迭代数据都有IteratorStatus的实例,它有以下几个方法
int getCount()返回当前迭代了几个元素
int getIndex()返回当前元素索引
boolean isEven()当然的索引是否偶数
boolean isFirst()当前是否第一个元素
boolean isLast()
boolean isOdd()当前元素索引是否奇数
代码如下:



现在的索引是奇数为:

当前元素值:


3:遍历map
value可以直接定义为:
value也可以是数据栈里面的java.util.Map对象
代码如下:

遍历写法如下:

key :
value:

当然key 和value 都可以使java 的 Object

4:遍历数据栈.简单的List类,
List class Attr{String attrName;String getAttrName(){return "123";}}
代码如下:




当然value 还可以写成 value="%{label}" label可以有.操作
label的属性List 可以写成value="%{label.list}" 相当于:getLabel().getList();

5:遍历2个list;
代码如下:

List attrN {color,size,style}
List attrV {red,20,gay}
这2个list的元素是一一对应的,一个attrN对应一个attrV

index is :
attrName is : or
attrName is :


第三种:serlvet用标签循环遍历,注:items是结果集。引用标签库
标签的作用就是迭代输出标签内部的内容。它既可以进行固定次数的迭代输出,也可以依据集合中对象的个数来决定迭代的次数。
标签的语法定义如下所示。

body content

标签具有以下一些属性:
l var:迭代参数的名称。在迭代体中可以使用的变量的名称,用来表示每一个迭代变量。类型为String。
l items:要进行迭代的集合。对于它所支持的类型将在下面进行讲解。
l varStatus:迭代变量的名称,用来表示迭代的状态,可以访问到迭代自身的信息。
l begin:如果指定了items,那么迭代就从items[begin]开始进行迭代;如果没有指定items,那么就从begin开始迭代。它的类型为整数。
l end:如果指定了items,那么就在items[end]结束迭代;如果没有指定items,那么就在end结束迭代。它的类型也为整数。
l step:迭代的步长。
标签的items属性支持Java平台所提供的所有标准集合类型。此外,您可以使用该操作来迭代数组(包括基本类型数组)中的元素。它所支持的集合类型以及迭代的元素如下所示:
l java.util.Collection:调用iterator()来获得的元素。
l java.util.Map:通过java.util.Map.Entry所获得的实例。
l java.util.Iterator:迭代器元素。
l java.util.Enumeration:枚举元素。
l Object实例数组:数组元素。
l 基本类型值数组:经过包装的数组元素。
l 用逗号定界的String:分割后的子字符串。
l javax.servlet.jsp.jstl.sql.Result:SQL查询所获得的行。
不论是对整数还是对集合进行迭代,的varStatus属性所起的作用相同。和var属性一样,varStatus用于创建限定了作用域的变量(改变量只在当前标签体内起作用)。不过,由varStatus属性命名的变量并不存储当前索引值或当前元素,而是赋予javax.servlet.jsp.jstl.core.LoopTagStatus类的实例。该类包含了一系列的特性,它们描述了迭代的当前状态,如下这些属性的含义如下所示:
l current:当前这次迭代的(集合中的)项。
l index:当前这次迭代从0开始的迭代索引。
l count:当前这次迭代从1开始的迭代计数。
l first:用来表明当前这轮迭代是否为第一次迭代,该属性为boolean类型。
l last:用来表明当前这轮迭代是否为最后一次迭代,该属性为boolean类型。
l begin:begin属性的值。
l end:end属性的值
l step:step属性的值
用法
转的,可以用来作为自己的学习笔记
类似于for和foreach循环 以下是我目前见过的用法:

1、循环遍历,输出所有的元素。

${li} www.

注意:items 用于接收集合对象,var 定义对象接收从集合里遍历出的每一个元素。同时其会自动转型。

2、循环遍历,输出一个范围类的元素。

${li}

注意:begin 定义遍历的开始位置,end定义遍历的结束位置。begin 和end的引号必须写。

3、循环遍历,输出除某个元素以外的元素或输出指定元素。


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • JSP连接MySql/MS SQL Server/Oracle数据库连接方法[整理]
  • JSP指令元素(page指令/include指令/taglib指令)复习整理
  • jsp的常用指令有哪些(编译指令/动作指令整理)
  • (jsp/html)网页上嵌入播放器(常用播放器代码整理)
  • IP地址数字互转 iis7站长之家
  • 现有1.jsp、2.jsp、3.jsp三个文件,我怎么在3.jsp文件中得到1.jsp中输入的值?
  • 一个框界网爷包含上下两个网页a1.jsp和a2.jsp,怎么实现a1.jsp自身不变且提交数据到下面的a2.jsp呢?不胜感激,急..
  • 请问jsp和serlet之间怎么通讯,jsp和jsp之间呢?
  • 请问<%@include file="abc.jsp"%>与<jsp:include page="abc.jsp"/>之间的差别
  • response.sendRedirect("index.jsp") 和 <jsp:forward page="index.jsp"/>的区别?
  • 想把一个jsp转到另一个jsp页面,要穿参数,中文的(jsp变量)。谁教教我?!
  • aaa.jsp有如下链接,当单击该链接时将id值传递给bbb.jsp,怎样在bbb.jsp中引用这个id值?
  • jsp+bean还是jsp+ejb还是jsp+servlet还是asp+activex好?
  • 谁能告诉我,怎么调试jsp程序呀!我在jsp中调用java,但是Tomcat这家伙只会给我报jsp文件出错。这可怎么办呀?
  • jsp中如何获得当前jsp文件所在的目录,用request.getServletPath()得到的路径含有jsp文件名,有没有办法得到目录(不含文件名)?
  • 初学jsp,一个html调用一个jsp,这个jsp调用一个javaBean,已编译成类,最后如何部署(用j2sdkee)?
  • 我要学jsp,已经下载了j2ee1.4,需要一个支持jsp引擎的WEB服务器或jsp引擎!!(急,马上给分)
  • jsp中相对路径怎么表示?例如当前目录下的jsp目录里的文件。
  • 我已经在输出前包含了<jsp:include page="2.jsp"/>,
  • 欲学JSP,请教JSP资料,最好电子版。
  • jsp中文乱码 jsp mysql 乱码的解决方法
  • jsp+JavaBean vs jsp+Servlet+JavaBean
  • JSP/html 编辑器 Bravo JSP editor
  • JSP开发入门(五)--JSP其他相关资源
  • <jsp:include page="SystemLeft.jsp?TypeId=<%= itTypeId.toString() %>" flush="true" />


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3