struts1吊牌<logic: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 约旦 灌木 克林顿
版权声明:本文博客原创文章,博客,未经同意,不得转载。
struts1吊牌<logic:iterate>的更多相关文章
- struts1 logic:iterate bean:write标签使用
只是截取项目中部分代码,供参考及日后查阅 用struts1标签html:select 展现select下拉列表 刚开始为如下代码: <html:select name="Shuiwuj ...
- 使用struts的logic:iterate标签遍历列表时得到显示序号
<logic:notEmpty name="sList" scope="request"> <logic:iterate id="e ...
- struts标签<logic:iterate>的用法
<logic:iterate>主要用来处理在页面上输出集合类,集合一般来说是下列之一: 1. java对象的数组 2. ArrayList.Vector.HashMap等 具体用法请参考s ...
- Struts标签<bean:write><logic:iterate></logic:equal>的组合使用小例
form表单中的一个下拉列表控件的代码如下 <select name="taskname" id="taskname" class="selec ...
- logic:iterate(转)
logic:iterate struts标签<logic:iterate>的用法 StrutsBeanJSPWeb脚本 <logic:iterate>主要用来处理在页面上输出 ...
- vue实现带logo的二维码/商品条形码/打印商品吊牌
一.带logo的二维码 1.安装 npm install vue-qr --save 2.在页面或组件中使用 <template> <div id="qrcode" ...
- struts 2吊牌s:if 、s:iterator注意
疏忽,也没有相应的总结.实际上JSTL标签Struts2标签混淆.导致一些上述问题的细节.今天我给从下一个总结,同 后不要再犯这种错误. 总喜欢在s:if标签里面使用$,导致各种数据读不出来. str ...
- 【转】Struts1.x系列教程(7):Logic标签库
转载地址:http://www.blogjava.net/nokiaguy/archive/2009/01/archive/2009/01/archive/2009/01/archive/2009/0 ...
- struts1四:常用标签
struts1支持的5种标签: HTML 标签: 用来创建能够和Struts 框架和其他相应的HTML 标签交互的HTML 输入表单 Bean 标签: 在访问JavaBeans 及其属性,以及定义一个 ...
随机推荐
- 怎样从Hadoop安全模式中进入正常模式
问题: 在Hadoop中,新建一个文件夹,报错了,提示mkdir: org.apache.hadoop.hdfs.server.namenode.SafeModeException: Cannot c ...
- 黄聪:Microsoft Enterprise Library 5.0 系列教程(一) Caching Application Block (高级)
原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(一) Caching Application Block (高级) Caching Application Bl ...
- 【SICP读书笔记(三)】练习2.18 --- 表序列的reverse方法
来自练习2.18 请定义出过程reverse,它以一个表为参数,返回的表中所包含的元素与参数表相同,但排列顺序与参数表相反: (reverse (list 1 4 9 16 25)) (25 16 9 ...
- 【原创】leetCodeOj --- Intersection of Two Linked Lists 解题报告(经典的相交链表找交点)
题目地址: https://oj.leetcode.com/problems/intersection-of-two-linked-lists/ 题目内容: Write a program to fi ...
- Copy-and-swap
为了在自己定义类里重载一个异常安全(exception safe)的赋值操作符.创造了一个这种习惯用语.也叫:Create-Temporary-and-Swap. 要想写健壮的C++代码.异常安全很重 ...
- Objective-C代码块语法(block)使用
和其它变量本质上相似的代码块.所不同的是,数据存储代码块是主体的函数. 使用的代码块被,你可以像打电话一样等标准功能,传入参数的数量,并获得返回值. 插入符号(^)语法标记块.我们熟悉的参数按照规约定 ...
- web.xmlf多ilter在执行顺序
1.随着url-pattern路配置filter请务必先实施servlet-name路配置filter 2.随着url-partern路配置filter于.,按web.xml于filter-ma ...
- Unity3D方法来隐藏和显示对象
Unity3D作 在使用unity3d开发游戏的过程中.我们经常会遇到须要隐藏或者显示的操作,针对这一点,以下做了一些总结. 一.设置Renderer状态 在游戏的开发中,全部可以被渲染的物体都包括有 ...
- OpenCV面、人眼检测
/* 功能:实现对眼睛.脸部的跟踪. 版本号:1.0 时间:2014-4-27 */ #include <opencv2/objdetect/objdetect.hpp> #include ...
- 使用GDB在远程开发机上调试
由于一些环境限制,很多学生很可能需要在开发机器上调试.但是,由于对计算机资源的开发限制.在本地的直接机的发展GDB环境配置问题已经成为,其实,我们可以利用这段时间GDB自带gdbserver工具将能够 ...