相关文章:
Struts1.2.4学习心得!(七)
面试题目
struts学习笔记(标签二)
推荐圈子: struts2
更多相关推荐 logic:iterate
logic:iterate标记用于在页面中创建一个循环,以此来遍历如数组,Collection,Map这样的对象。该标记的功能强大,在 Struts应用的页面中经常使用到。
对数组进行循环遍历
使用logic:iterate标记可以用于遍历数组。以下是一段示例代码:
<%
String [] testArray1 = {"str0","str1","str2","str3","str4","str5","str6"};
pageContext.setAttribute("test1",testArray1);
%>
<logic:iterate id="array1" name="test1">
<bean:write name="array1"/>
</logic:iterate>
在上面的代码中,首先定义了一个字符串数组,并为其初始化。接着,将该数组存入pageContext对象中,命名为test1。然后使用 logic:iterate标记的name属性指定了该数组,并使用id来引用它,同时使用<bean;write>标记来将其显示出来。运行效果如下所示:
str0
str1
str2
str3
str4
str5
str6
分析一下上面的代码,可知logic:iterate标记的name属性用于指定某一存在的对象,id属性定义一个新的对象来引用name 属性所指定的对象。再使用<bean:write>标记的name属性来引用了id属性所定义的新的对象,将数组的值打印出来。另外,还可以通过length属性来指定输出元素的个数。如下面的代码。
<logic:iterate id="array1" name="test1" length="3" offset="2">
<bean:write name="array1"/>
</logic:iterate>
其中length属性指定了输出元素的个数,offset属性指定了从第几个元素开始输出,如此处为2则表示从第三个元素开始输出。所以该代码的运行结果应当从str2一直输出到str4。实际运行效果如下:
str2
str3
str4
另外,该标记还有一个indexId属性,它指定一个变量存放当前集合中正被访问的元素的序号,如下例:
<logic:iterate id="array1" name="test1" length="3" offset="2" indexId="number">
<bean:write name="number"/>:
<bean:write name="array1"/>
</logic:iterate>
运行效果如下所示:
2: str2
3: str3
4: str4
可以看出,序号已经加在了输出字符串的前面。
对HashMap进行循环遍历
以下是一段使用logic:iterate标记遍历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>
上面的代码首先定义了一个HashMap的对象,并向其中添加了5个元素,再把它存入pageContext对象中,命名为countries。令logic:iterate标记的name属性等于"countries",id为country。再让<bean:write>标记的name属性和logic:iterate 标记的id属性相对应,令property一个为"key",一个为"value"。便会有以下输出结果:
country1: 中国
country4: 法国
country5: 德国
country2: 美国
country3: 英国
从效果上看出,logic:iterate标记确定遍历了HashMap的每一个元素,但它并未按添加的顺序将其显示出来。这是因为HashMap 是无序存放的。
对List进行循环遍历
logic:iterate标记也可以对List型的对象进行遍历,以下是一段示例代码。
<%
ArrayList list1 = new ArrayList();
list1.add("str1");
list1.add("str2");
list1.add("str3");
list1.add("str4");
list1.add("str5");
pageContext.setAttribute("testlist",list1);
%>
<logic:iterate id="showlist" name="testlist" indexId="index">
<bean:write name="index"/>:
<bean:write name="showlist"/>
</logic:iterate>
运行效果如下:
0: str1
1: str2
2: str3
3: str4
4: str5
嵌套遍历
logic:iterate标记还可以进行嵌套遍历,以下是一段代码示例:
<%
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>
上面的代码使用了双重循环来遍历一个ArrayList对象,这个ArrayList对象内的每一个元素又是一个String型的数组。以下是运行效果:
0: red green blue
1: 中国 美国 法国
2: 乔丹 布什 克林顿
分享到:
相关推荐
HTML页面部分的代码显示了如何在表格中使用`logic:iterate`标签遍历`list`集合,对于每个`accountBean`对象,将其属性值渲染到表格的相应单元格中。`bean:write`标签用于输出bean的属性值,例如`accountBean`的`...
jsp脚本和<logic:iterate>标签:实现循环和分支逻辑 jsp脚本和<logic:iterate>标签:实现循环和分支逻辑 jsp脚本和<logic:iterate>标签:实现循环和分支逻辑
### logic:iterate 标签详解 #### 一、概述 `logic:iterate` 是 Struts 标签库中的一个重要组成部分,主要用于在 JSP 页面中循环遍历集合对象(如 List、Array 或 Map 等)。它能够有效地帮助开发者在前端展示动态...
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标签Struts Logic标签Struts Logic标签Struts Logic标签Struts Logic标签
在探讨“struts logic:iterater换行”的知识点时,我们首先需要理解Struts框架以及其内嵌的逻辑标签库(Logic Tag Library)中的`<logic:iterate>`标签的使用方式,尤其是如何在迭代过程中实现换行效果。下面将详细...
此标签与`logic:empty`相反,用于检查变量是否非空。如果变量不为空,则执行该标签内的代码。 **示例:** ```jsp <logic:notEmpty name="userList"> <!-- 如果userList非空,则执行这里的代码 --> </logic:not...
除了上述基本用法,`<logic:iterate>`还可以与其他逻辑标签结合使用,例如`<logic:notEmpty>`、`<logic:equal>`等,实现更复杂的条件判断和流程控制。 需要注意的是,随着技术的发展,Struts 1的`logic`标签库在...
`logic:greaterThan`, `logic:lessThan`, `logic:greaterEqual`, 和 `logic:lessEqual`标签** 这些标签用于数值比较。例如,显示年龄大于18岁的用户: ```jsp <logic:greaterThan name="user" property="age" ...
- `<logic:lessThan>`,`<logic:lessEqual>`,`<logic:greaterThan>`,`<logic:greaterEqual>`:这些标签用于比较数值大小,例如,`<logic:lessThan name="age" value="18">`会检查`age`是否小于18。 这些标签都...
logic:iterate 产生问题的图
* `<logic:equal>`:比较变量是否等于指定的常量 * `<logic:notEqual>`:比较变量是否不等于指定的常量 * `<logic:greaterEqual>`:比较变量是否大于或等于指定的常量 * `<logic:greaterThan>`:比较变量是否大于...
与`logic:empty`相反,`logic:notEmpty`标签用于判断对象不为空时执行其内部内容。这个标签常用来处理非空数据的情况。 3. `logic:equal`和`logic:notEqual` 这两个标签用于比较两个值是否相等或不等。`logic:equal...
3. `<logic:greaterThan>`、`<logic:lessThan>`、`<logic:greaterOrEqual>`和`<logic:lessOrEqual>`: 这些标签用于数值比较,常用于数据过滤或者分页显示时的条件判断。 4. `<logic:present>`和`<logic:notPresent>...
- 在处理表单验证时,可以使用`logic:equal`或`logic:notEqual`标签来检查输入值是否满足预设条件。 - 在页面导航中,`logic:forward`和`logic:redirect`标签可以用于根据条件重定向到不同的页面。 6. **优缺点**...
* logic:messagePresent 标签:判断是否存在某个消息。 * logic:notEmpty 标签:判断某个集合是否为空。 * logic:present 标签:判断某个对象是否存在。 通过学习和掌握这些标签,可以快速地完成 Struts 相关的任务...
3. `<logic:greaterThan>`、`<logic:lessThan>`、`<logic:greaterEqual>`和`<logic:lessEqual>`标签: 这些标签用于数值比较。例如,判断用户年龄是否大于25岁: ```jsp <logic:greaterThan value="25" property=...
- 使用`logic:iterate`时,确保集合已正确设置到请求、session或application作用域。 总结,Struts中的logic标签提供了一套便捷的条件判断和循环控制功能,使得在JSP页面中处理业务逻辑变得更加直观和简单。理解并...
二、`<logic:equal>`和`<logic:notEqual>`标签 这两个标签用于比较两个值是否相等或不相等。它们可以比较字符串、数字,甚至对象属性。例如,比较用户输入的密码与数据库中的密码: ```jsp <logic:equal param1="${...