<logic: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 乔丹 布什 克林顿
<logic:iterate id="it" name="list" length="2">
<bean write name="it"/><br/>
</logic:iterate>
list 是你要遍例的对象 it是list里面的元素的类型 ,还有个offset属性,是用来表示起始位置的,比如,offset=“1”从第二位开始遍历出值,offset=“0”是默认值
分享到:
相关推荐
在`struts`的标签库中,`logic:iterate`是一个非常重要的标签,用于遍历集合对象,如`List`、`Map`或数组,并对每个元素执行循环操作。 `logic:iterate`标签的主要属性包括: 1. `id`: 用于给循环中的当前元素创建...
### logic:iterate 标签详解 #### 一、概述 `logic:iterate` 是 Struts 标签库中的一个重要组成部分,主要用于在 JSP 页面中循环遍历集合对象(如 List、Array 或 Map 等)。它能够有效地帮助开发者在前端展示动态...
jsp脚本和<logic:iterate>标签:实现循环和分支逻辑 jsp脚本和<logic:iterate>标签:实现循环和分支逻辑 jsp脚本和<logic:iterate>标签:实现循环和分支逻辑
logic:iterate 产生问题的图
1. Map里存放的是bean时 <br><logic:iterate id="destMap" name="srcMap"> <br> <bean:define id="bean" name="destMap" property="value" /> <br> <bean:write name="bean" property="name" /> <br></...
Struts-Logic Iterate标签是Apache Struts框架中的一个重要组件,用于在JSP页面中迭代集合对象,如数组、列表或Map。这个标签提供了一种简洁的方式来遍历数据,并且可以与Struts的其他标签(如`bean:write`)配合...
在探讨“struts logic:iterater换行”的知识点时,我们首先需要理解Struts框架以及其内嵌的逻辑标签库(Logic Tag Library)中的`<logic:iterate>`标签的使用方式,尤其是如何在迭代过程中实现换行效果。下面将详细...
在Struts的学习过程中,`<logic:iterate>`标签是经常遇到的一个,它允许我们遍历数组、Collection、Enumeration、Iterator或Map中的元素。 首先,我们来详细解释一下`<logic:iterate>`标签的基本用法: 1. **遍历...
Struts Logic标签Struts Logic标签Struts Logic标签Struts Logic标签Struts Logic标签
<logic:iterate id="item" name="items"> <bean:write name="item" property="name" />: <bean:write name="item" property="description" /> </logic:iterate> ``` 以上是Struts1框架中`table`标签中逻辑标签的...
<logic:iterate id="item" name="myList"> ${item.name} </logic:iterate> </logic:notEmpty> <logic:empty name="myList"> 没有数据 </logic:empty> ``` 二、`<logic:equal>`和`<logic:notEqual>`标签 这两...
5. **logic:iterate**:遍历集合,如List、Array或Map,常用于表格展示数据。 ```jsp <logic:iterate id="item" name="items" indexId="index"> <td><bean:write name="index" /> <td><bean:write name="item...
</logic:iterate> ``` **2. `logic:present`与`logic:notPresent`标签** 这两个标签用于检查指定的请求、session或application作用域中是否存在某个对象。如果存在,`logic:present`会显示其内部的内容;反之,`...
<logic:iterate id="user" name="users" scope="session"> 用户名: <bean:write name="user" property="username"/>, 年龄: <bean:write name="user" property="age"/> </logic:iterate> ``` 5. `<logic:...
3. **使用`<logic:iterate>`标签遍历**:接下来在JSP页面中使用`<logic:iterate>`标签来遍历存储在`request`域中的`Vector`对象。这里通过`name`属性指定了要遍历的`Vector`对象名;`id`属性则定义了一个变量名`...
然后通过外层的`<logic:iterate>`标签遍历整个Map,再通过内层的`<logic:iterate>`标签遍历每个键对应的值集合。 #### 结论 通过上述介绍可以看出,Struts框架提供了强大的标签库支持,使得开发者能够轻松地处理...
* `<logic:iterate>`:进行循环遍历 请求转发或重定向的 Logic 标签 * `<logic:forward>`:进行请求转发 * `<logic:redirect>`:进行请求重定向 这些 Logic 标签可以根据需要组合使用,以实现复杂的逻辑判断和...
`<logic:iterate>`用于遍历集合,而`<bean:write>`则用于在页面上显示每个元素的属性值。 1. `<logic:iterate>`标签:这个标签会遍历一个集合,比如一个包含多条数据的List。它的基本语法如下: ```jsp <logic:...
例如,`<logic:present>`检查某个对象是否存在,`<logic:iterate>`遍历集合并在每个元素上执行操作,`<logic:equal>`比较两个值是否相等。这些标签使得在JSP页面上进行条件判断和循环变得更加直观。 **Nested Tags*...