iterate主要用来处理在页面上输出集合类,集合一般来说是下列之一:
1、 java对象的数组
2、 ArrayList、Vector、HashMap等
具体用法请参考struts文档,这里不作详细介绍
现在定义一个class,User.java 把它编译成User.class
package example;
import java.io.Serializable;
public final class User implements Serializable {
private String name = null;
private String password = null;
public String getName () {
return (this.name);
}
public void setName(String name) {
this.name = name;
}
public String getPassword () {
return (this. password);
}
public void setPassword (String password) {
this. password = password;
}
}
然后在一个struts webapplication中创建一个jsp,例如iterate.jsp
<%@ page language="java" %>
<%@ page import="example.*"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%
java.util.ArrayList list = new java.util.ArrayList();
User usera=new User();
usera.setName("white");
usera.setPassword("abcd");
list.add(usera);
User userb=new User();
userb.setName("mary");
userb.setPassword("hijk");
list.add(userb);
session.setAttribute("list", list);
%>
<html><body><table width="100%">
<logic:iterate id="a" name="list" type=" example.User ">
<tr><td width="50%">
name: <bean:write name="a" property="name"/>
<td/><td width="50%">
password: <bean:write name="a" property="password"/>
</td></tr>
</logic:iterate>
</table></body></html>
将User.class, iterate.jsp放到相应的目录,运行iterate.jsp你就可以看到iterate的效果了
iterate标记
id 脚本变量的名称,它保存着集合中当前元素的句柄。
name 代表了你需要叠代的集合,来自session或者request的属性。
type 是其中的集合类元素的类型
bean的write标记是用来将属性输出的,name用来匹配iterate的id,property用来匹配相应类的属性<logic:iterate>用法详解22007-04-04 20:34<login:iterate>标记用于在页面中创建一个循环,以此来遍历如数组、Collection、Map这样的对象。该标记的功能强大,在Struts应用的页面中经常使用到。
1、对数组进行循环遍历
使用<logic:iterate>标记可以用于遍历数组,以下是一段示例代码:
程序代码<%
String[] testArray={"str1","str2","str3"};
pageContext.setAttribute("test",testArray);
%>
<logic:iterate id="show" name="test">
<bean:write name="show"/>
</logic:iterate>
在上面的代码中,首先定义了一个字符串数组,并为其初始化。接着,将该数组存入pageContext对象中,命名为test1。然后使用<logic:iterate>标记的name属性指定了该数组,并使用id来引用它,同时使用<bean:write>标记来将其显示出来。其结果为:
str1
str2
str3
另外,还可以通过length属性来指定输出元素的个数。如下面的代码:
程序代码<logic:iterate id="show" name="test" length="2" offset="1">
<bean:write name="show"/>
</logic:iterate>
其中length属性指定了输出元素的个数,offset属性指定了从第几个元素开始输出,如此处为1,则表示从第二个元素开始输出。所以该代码的运行结果应当输出:
str2
str3
另外,该标记还有一个indexId属性,它指定一个变量存放当前集合中正被访问的元素的序号,如:
程序代码<logic:iterate id="show" name="test" length="2" offset="1" indexId="number">
<bean:write name="number"/>:<bean:write name="show"/>
</logic:iterate>
其显示结果为:
1:str2
2:str3
2、对HashMap进行循环遍历
程序代码<%
HashMap countries=new HashMap();
countries.put("country1","中国");
countries.put("country2","美国");
countries.put("country3","英国");
countries.put("country4","法国");
countries.put("country5","德国");
pageContext.setAttribute("countries",countries);
%>
<logic:iterate id="country" name="countries">
<bean:write name="country" property="key"/>:
<bean:write name="country" property="value"/>
</logic:iterate>
在bean:write中通过property的key和value分别获得HaspMap对象的键和值。其显示结果为:
country5:德国
country3:英国
country2:美国
country4:法国
country1:中国
由结果可看出,它并未按添加的顺序将其显示出来。这是因为HaspMap是无序存放的。
3、嵌套遍历
程序代码<%
String[] colors={"red","green","blue"};
String[] countries1={"中国","美国","法国"};
String[] persons={"乔丹","布什","克林顿"};
ArrayList list2=new ArrayList();
list2.add(colors);
list2.add(countries1);
list2.add(persons);
pageContext.setAttribute("list2",list2);
%>
<logic:iterate id="first" name="list2" indexId="numberfirst">
<bean:write name="numberfirst"/>
<logic:iterate id="second" name="first">
<bean:write name="second"/>
</logic:iterate>
<br>
</logic:iterate>
运行效果:
0 red green blue
1 中国 美国 法国
2 乔丹 布什 克林顿
相关推荐
自适应粒子群优化(Adaptive Particle Swarm Optimization,APSO
下面是一个关于自适应粒子群优化(Adaptive Particle Swarm Optimization,APSO)的博客,希望可以帮助您。提示:以下是本篇文章正文内容,下面案例可供参考在上面的代码中,表示粒子的数量,表示解空间的维度,表示迭代次数,表示优化的目标函数。在__init__方法中,我们初始化了粒子群的位置和速度,并将每个粒子的位置作为其最优解,将其适应度值初始化为正无穷。我们还初始化了学习因子和惯性权重的参数。在run方法中,我们迭代了次,计算每个粒子的适应度值和最优解。
struts logic:itereate bean:write 标签
Iterate主要用来处理在页面上输出集合类,集合一般来说是下列之一: 1、 java对象的数组 2、 ArrayList、Vector、HashMap等 具体用法请参考struts文档,这里不作详细介绍 现在定义一个class,User.java 把它编译成User.class package example; import java.io.Seria...
spark 适配达梦数据库
spark 适配达梦数据库 版本 spark3.0.0 scala2.12.10 DM Database Server 64 V8 步骤一: 引驱动包: SBT方式: "com.dameng" % "Dm8JdbcDriver18" % "8.1.0.157", maven方式: <dependency> <groupId>com.dameng</groupId> <artifactId>Dm8JdbcDriver18</artifac
struts开发实践[转]
一、struts使用小贴士(mainly from《struts in action》)1. 在actionForm中使用array以匹配重复的变量。例如在使用multibox时,相对应的可以在form中定义array。2.使用显示collection的记录总数。 eg:。如果resultList有两条记录,则显示2。3. 显示循环序号标记: 4.使用检查对象是否存在。使用检查属性是否存
AI+AB测试提升电商主图点击率实战指南
在电商运营中,主图点击率(CTR)是衡量商品吸引力的核心指标,直接影响转化率和订单增长。通过AI技术批量生成高质量主图素材,结合数据驱动的AB测试方法,可以显著提升点击率。AI工具如MidJourney和Stable Diffusion能够快速生成多样化视觉方案,而自动化处理流水线则确保素材规格统一。AB测试体系通过多维变量控制和流量分配策略,科学验证不同素材效果。这种方法特别适用于需要快速迭代的电商场景,某女装店铺案例显示CTR从1.2%提升至3.8%,验证了AI+数据协同优化的技术价值。
【开源】基于TI ADS1299与ESP32的8通道脑电采集设备YuEEG全解析
本文详细解析了基于TI ADS1299芯片与ESP32主控的开源8通道脑电采集设备YuEEG。内容涵盖硬件设计、固件驱动开发及Python上位机软件实现,提供了从电路连接、SPI通信配置到数据读取与实时波形显示的全套教程。该项目为学习脑机接口(BCI)与高精度生物电信号采集提供了完整的开源解决方案,适合创客、学生及嵌入式开发者实践。
JSTL标签logic:iterate详解
<logic:iterate> 是Logic 标签库中最复杂的标签,也是用途最广的一个标签,它能够在一个循环中遍历数组、Collection、Enumeration、Iterator 或 Map 中的所有元素 length 属性指定需要遍历的元素的数目, 如果没有设置length 属性, 就遍历集合中的所有元素. offset 属性指定开始遍历的起始位置, ...
【用unity实现100个游戏之15】开发一个类保卫萝卜的Unity2D塔防游戏5(附项目源码,完结)
本期是本项目的最后一篇,主要内容是配置环境、生成不同敌人、结束重开。
Struts标签详解
Struts提供了五个标签库,即:HTML、Bean、Logic、Template和Nested。 HTML 标签: 用来创建能够和Struts 框架和其他相应的HTML 标签交互的HTML 输入表单 Bean 标签: 在访问JavaBeans 及其属性,以及定义一个新的bean 时使用 Logic 标签: 管理条件产生的输出和对
NR PUCCH(一) PUCCH format 0/1
NR中PUCCH物理信道用来发送上行控制信息Uplink Control Information(UCI),当然UCI也可以在PUSCH上发送。UCI 内容包括:CSI,HARQ ACK/NACK ,SR 及上述三者的组合信息。 那先看下PUCCH format ,序列的生成及资源映射的相关内容。 NR中支持5种格式PUCCH,根据PUCCH format占用时域符号长度分为短PUCCH(1-2个符号,PUCCH 0/2)和长PUCCH(4-14个符号,PUCCH1/3/4)。使用短PUCCH 能够支
【YOLO目标检测全栈实战】68 模型量化:从FP32到INT8,精度不掉,速度翻倍
摘要: 模型量化能显著提升推理速度(如YOLOv5s帧率从15FPS提升至38FPS),但需避免三大误区:1)校准集需覆盖实际场景,而非随机采样;2)敏感层(如检测头)应保留FP32精度;3)预处理必须与量化前后一致。通过混合精度量化(Backbone用INT8,检测头用FP32)和逐通道量化,可实现<1%的mAP损失。关键步骤包括校准数据准备、量化感知训练及逐层精度评估,最终在Jetson Nano等边缘设备上实现速度与精度的平衡。
Struts标签库详解,非常好的Struts标签详解
本文转自:http://hi.baidu.com/xzkcz/blog/item/5cf9f91f01beb9f4e0fe0bd4.html 作者:xzkcz Struts提供了五个标签库,即:HTML、Bean、Logic、Template和Nested。 HTML 标签: 用来创建能够和Struts 框架和其他相应的HTML 标签交互的HTML 输入表单 Bea
安装 miniconda linux
安装 miniconda linux
Struts2框架——Struts的错误回显以及struts标签
Struts的错误回显以及struts标签 本次记录一下 Struts 的错误回显以及 struts 框架前端标签的简单用法 Struts 的错误回显 在 struts.xml 中的 result 标签中,把 name 属性的值设置成 input,这样当数据出现异常时,会自动回显到后边声明的 jsp 页面 <action name="register" class="com.l...
数学建模模型总结
这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!
ET2012新版免狗免安装绿色软件
ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,
Struts 常用标签
首先加载标签库 <%@ taglib uri="/struts-tags" prefix="s" %> 一、数据标签 1、set set标签赋予变量一个特定范围内的值. 当希望给一个变量赋一个复杂的表达式,每次访问该变量而不是复杂的表达式时用到. 其在两种情况下非常有用: 复杂的表达式很耗时 (性能提升) 或者很难理解 (代码可读性提高). 参数: 名称 必填 缺省 类型 ...
OV9734 DATASHEET,完整规格书
OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等
Struts-Tags标签的用法
一、通用标签(常用) property property:<s:property value=“name” /> property取字符串:<s:property value="‘你好’" /> property设置默认值:<s:property value=“admin” default=“我” /> set set设值(使用默认scop时,存在ActionContext和request中;id、name已废弃,现用var、value存储对象值;常用于换名以便利使用)
lwip-2.0.3
lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。
Struts2框架标签
Struts2框架标签
struts的LOGIC标签详解
Struts的Logic标签可以根据特定的逻辑条件来判断网页的内容,或者循环遍历集合元素,它和HTML,Bean标签是Struts应用种最常用的三个标签.它的功能主要是比较运算,进行字符串的匹配,判断指定的内容是否存在,循环遍历集合,进行请求转发和重定向,下面具体的说明标签的用途:变量等于指定的常量变量不等于指定的常量变量小于指定的常量变量小于或者等于指定的常量变量大于指定
struts2标签 java代码_struts2标签详解
struts2标签讲解要使用Struts2的标签,只需要在JSP页面添加如下一行定义即可:Struts2的标签共分为五大类:一、逻辑控制标签用于进行逻辑控制输出,主要分为以下几类:1、条件标签:用于执行基本的条件流转拥有一个test属性,其表达式的值用来决定标签里的内容是否显示,北京欢迎你上海欢迎你同上2、迭代标签:用于遍历集合(java.util.Collection)或者枚举值(java.ut...
Struts2标签示例
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ page import="com.rao.bean.Sex"%> <%@ taglib prefix="s" uri="/struts-tags"%>
详解Struts标签的分类
一. Struts标签分类 1.Struts提供了很多的标签,依据功能和使用习惯被分到了五个标签库中: 2.Bean Tags:该标签库包含的标签可以用来创建bean、访问bean和访问bean的属性。同时提供了依据cookies、headers和parameters的值创建
Struts:标签库
1,Struts2标签库概述 Struts2标签库相对于Struts1进行了巨大的改进,支持OGNL表达式,不依赖任何表现层技术(可以在各种表现层技术中使用)。 我们可以在struts2-core-xxx.jar压缩文件的META-INF目录下找到struts-tags.tld文件,这个文件里定义了Struts2的标签。 Struts2对整个标签库提供了严格的分类,Strut2把所有标签都定义在一个s标签库里。虽然Struts2把所有的标签都定义在URI为"/struts-tags"的空间下,但依然
struts中标签的用法
标签只在要显示特定类型的 Struts 消息时才显示其内容。message 属性定义了消息类型:如果为 true,那么就考虑正常消息,否则就考虑错误消息。在 标签中, 标签枚举并显示相应类型的每一个消息。因而在下面 JSP 页中,第一部分显示所有正常应用程序消息,第二部分所有显示错误。 There was a problem with your r
Struts 中 Html 标签库 的用法(第二组标签,与Form相关的标签 )
继续学习Struts提供的HTML标签库。by Budi Kurniawan 在本文系列的第一部分中我讲述了如何使用Struts提供的HTML标签库来配置一个Struts应用程序。我还介绍了该标签库中的一类标签:独立使用的标签。在第二部分中我将继续介绍第二类标签:与form相关的标签。与form相关的标签包括 标签本身以及所有必须包含在其中的标签。比如,和标签就是和form相关的标签,因为如果不把
9917



被折叠的 条评论
为什么被折叠?



