- 浏览: 1065635 次
- 性别:
- 来自: 天津
文章分类
- 全部博客 (314)
- java 技术 (45)
- Java Util (3)
- Struts2 学习笔记 (23)
- MySql@数据库 (18)
- Oracle@数据库 (4)
- sqlserver@数据库 (20)
- Hibernate配置及应用 (7)
- 基础学习笔记@javaScript (24)
- 常用应用实例@javaScript (41)
- 网页设计 (20)
- bug (13)
- 总结 (4)
- eclipse应用 (23)
- tomcat设置及问题 (15)
- SWFUplaod学习笔记 (7)
- C# (5)
- PPT经验技巧 (8)
- 心情随笔 (3)
- 其他 (19)
- jquery (4)
- sping (1)
- json相关 (2)
最新评论
-
流年已逝_奋斗不止2013:
很有用,谢谢!
HQL select 总结 -
qq_31945283:
完美解决了我的难题,谢谢
四、struts2+swfUpload例子二 -
qq_31945283:
...
四、struts2+swfUpload例子二 -
sunbingrun:
集成到我的项目里, 居然post_params: {&quo ...
三、struts2+swfUpload简单例子 -
flyarun:
牛B ,这种人就是我的偶像
四、struts2+swfUpload例子二
struts2 遍历Map的多种方法
主要针对以下几种情况的Map:
下面给出一个示例
1).ExpressMapAction.java
2).strMap.jsp
主要针对以下几种情况的Map:
private Map<String, String> strMap = new HashMap<String, String>(); private Map<String, Person> perMap = new HashMap<String, Person>(); private Map<String, String[]> strArryMap = new HashMap<String, String[]>(); private Map<String, List<Person>> perLstMap = new HashMap<String, List<Person>>();
下面给出一个示例
1).ExpressMapAction.java
import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.expre.struts2.bean.Person; import com.expre.struts2.bean.Phone; import com.opensymphony.xwork2.ActionSupport; public class ExpressMapAction extends ActionSupport { private static final long serialVersionUID = -4251480679223607716L; private Map<String, String> strMap = new HashMap<String, String>(); private Map<String, Person> perMap = new HashMap<String, Person>(); private Map<String, String[]> strArryMap = new HashMap<String, String[]>(); private Map<String, List<Person>> perLstMap = new HashMap<String, List<Person>>(); //get&set方法,这里都省略了 @Override public String execute() throws Exception { // 值为字符串 strMap.put("first", "zxx"); strMap.put("second", "lsx"); strMap.put("third", "wxh"); // 值为javabean对象 Person person = new Person("001", "zxx", 22); person.setPhone(new Phone("apple", 18957157189L)); perMap.put("one", person); person = new Person("002", "lsx", 25); person.setPhone(new Phone("HTC", 18957157187L)); perMap.put("two", person); // 数组处理 strArryMap.put("arr1", new String[] { "1", "310000", "hz" }); strArryMap.put("arr2", new String[] { "2", "310001", "xh" }); strArryMap.put("arr3", new String[] { "3", "310002", "sc" }); //list对象处理 List<Person> list=new ArrayList<Person>(); list.add(new Person("001", "zxx", 22)); list.add(new Person("002", "lsx", 25)); perLstMap.put("one", list); list=new ArrayList<Person>(); list.add(new Person("003", "wlx", 26)); list.add(new Person("004", "hzx", 28)); perLstMap.put("two", list); return "result"; } }
2).strMap.jsp
<html> <body> <ul> <li>访问Map:<s:property value="strMap"/></li> <li>访问Map中某个元素: <s:property value="strMap.first"/> | <s:property value="strMap['second']"/> | <s:property value="strMap[\'third\']"/> </li> <li>访问Map中所有的key:<s:property value="strMap.keys"/></li> <li>访问Map中所有的value:<s:property value="strMap.values"/></li> <li>访问容器的大小: <s:property value="strMap.size()"/> | <s:property value="strMap.size"/>//这是map特别的地方 </li> <li>迭代循环取值,最简单 <s:iterator value="strMap" id="entry"> <s:property value="#entry"/>{ key: <s:property value="key"/> value:<s:property value="value"/>}| </s:iterator> </li> <li>迭代循环取值 <s:iterator value="strMap.keySet()" id="key"> <s:property value="key"/>或<s:property value="#key"/>: <s:if test="strMap[#key]!=null"> <s:property value="strMap.get(#key)"/> | </s:if> </s:iterator> </li> <li>迭代循环取数组值 <s:iterator value="strMap" id="entry"> <s:property value="#entry"/>{ <s:property value="value[0]"/> <s:property value="value[1]"/> | <s:property value="value[2]"/> } </s:iterator> </li> <li>迭代循环取对象值,最直接: <ul> <s:iterator value="perMap" id="entry"> <li> <s:property value="#entry"/> { ID:<s:property value="value.ID"/> Name:<s:property value="value.name"/> Age:<s:property value="value.age"/> }| </li> </s:iterator> </ul> </li> <li>迭代循环取对象的属性值 <s:iterator value="perMap.keySet()" id="key"> <s:property value="#key"/>: <s:iterator value="perMap.get(#key)"> <s:property value="ID"/> <s:property value="name"/> <s:property value="phone.name"/> </s:iterator>| </s:iterator> </li> <li>稍复杂的迭代 <s:iterator value="perLstMap" id="entry"> <s:set name="total" value="#entry.value.size"/> <s:iterator value="#entry.value" status="s"> <s:if test="#s.first"> <s:property value="#entry.key"/>:共${total}条 </s:if> { <s:property value="ID"/> | <s:property value="name"/> | <s:property value="age"/> }; </s:iterator> </s:iterator> </li> </ul> </body> </html>
发表评论
-
struts2中各个jar包作用
2017-07-07 11:37 707Struts2.3.4 所需的Jar包及介绍 J ... -
struts2标签的默认主题
2017-05-08 11:46 713Struts2默认的theme是xhtml,这可以从Strut ... -
struts2 漏洞分析与防护方案 CVE-2017-5638 S2-045 除了升级外还是有修复方案的
2017-03-23 10:52 985【IT168 评论】关注网络 ... -
struts2 date标签(数据标签)
2015-11-02 13:43 953date标签: date标签 用于格式化输入一个日期,还可以计 ... -
struts2中if标签中字符串比较的正确写法
2013-01-09 13:40 3026错误写法: <s:if test="aStri ... -
struts2 标签 (取)保留几位小数(保留2位小数、保留4位小数)、日期类型转换处理方
2012-08-12 11:34 5297一、Struts2 国际化配置文件中添加如下配置: #保留两位 ... -
struts2的几种选择标签
2011-05-04 11:46 2157学习struts2已经很长时间了,一直觉得他的标签很好用,下面 ... -
struts2 标签 页面数据处理
2009-08-25 12:56 18061、输出session中的值 a. <s:prop ... -
struts2 optiontransferselect标签使用中的问题
2009-08-09 15:28 5228struts2 的优点之一便是 ... -
struts2+spring+hibernate整合配置
2009-04-22 10:24 1880struts2+spring+hibernate 配置: 1 ... -
struts2+spring+hibernate整合时所需的jar包
2009-02-17 09:13 14410struts2.1.6 支持jar包 xwork-2.1 ... -
关于Struts2中visitor校验器的解决方法
2009-01-09 09:11 1539这段时间重新开始拾起JAVA的学习,也是为了以后的工作打算,积 ... -
关于Struts2的文件上传
2008-09-03 11:36 3891在使用struts处理文件上传的时候往往会遇 ... -
Struts2插件
2008-06-21 16:23 2147Struts2插件 从理论上讲,Struts ... -
struts2配置-struts.pro
2008-06-21 16:22 1591struts.properties配置文件 ... -
struts2配置-struts.xml
2008-06-21 16:17 4286struts.xml配置文件 Struts ... -
Struts2的基本配置-web.xml
2008-06-21 16:12 6383Struts 2的基本配置 前面大致了解了Str ... -
Struts2的基本流程
2008-06-21 16:05 3292大致上,Struts 2框架由3 ... -
在eclipse中开发Struts2
2008-06-21 16:04 4030创建web应用(使用MyEclipse) 一、在Eclips ... -
创建Web应用
2008-06-21 15:57 1381!!提醒 对于IDE工具,业内有一个说法:IDE工具会加快高 ...
相关推荐
本文将深入探讨如何在JSP中将`List`, `Set`, `Map`等集合类型的数据传递到Action,然后再通过`<s:iterator>`标签进行遍历显示。这种方式对于数据的展示和交互具有重要的实践意义。 首先,我们需要了解Struts2的工作...
在这个例子中,`myMap`是Action类中的一个Map属性,`iterator`标签会遍历Map的每个键值对,并使用`s:property`标签显示它们。 接下来,我们讨论如何遍历List。List是一种有序的集合,`iterator`标签通过`status`...
`s:iterator`标签是Struts 2 提供的一个迭代标签,它允许开发者遍历任何可迭代的对象,如数组、集合或Map。在描述中提到的场景,这个标签用于遍历一个数据集,然后为每个元素创建一个`<s:checkbox>`标签。 `s:...
在 Struts2 框架中,`s:iterator` 是一个非常重要的标签,它主要用于遍历集合数据(如数组、列表、映射表等),并且在 JSP 页面上显示这些数据。下面将根据提供的示例代码对 `s:iterator` 在不同场景下的使用进行...
4. <s:iterator></s:iterator>-----用于遍历集合 L: 1. <s:label></s:label>-----只读的标签 M: 1. <s:merge></s:merge>-----合并遍历集合出来的值 O: 1. <s:optgroup></s:optgroup>-----获取...
在Struts2中,我们可以使用OGNL(Object-Graph Navigation Language)表达式语言来遍历Map。 在Struts2中,Map遍历通常在JSP页面上进行,使用OGNL表达式。以下是一个简单的例子: ```jsp <%@ taglib prefix="s" ...
Struts2 框架中的 `s:iterator` 标签是用于遍历集合、数组、Map 或者数据栈中的对象的重要组件。这个标签提供了一种便捷的方式来在 JSP 页面上展示动态数据,使得开发者能够方便地循环遍历并显示元素。下面我们将...
总结,Struts2的`s:iterator`标签是用于循环遍历数据的核心组件,支持多种数据类型和复杂的数据结构。通过`value`属性指定要遍历的数据,`status`属性可以提供关于迭代状态的信息,使得在JSP页面上灵活地处理和展示...
Struts2 框架中的 `s:iterator` 标签是用于遍历集合、数组、Map 或数据栈中的对象的,它提供了强大的迭代能力,能够方便地在JSP页面中展示数据。以下是对 `s:iterator` 标签用法的详细说明: 1. **数组或List遍历**...
除了遍历列表和数组,`<s:iterator>`同样支持遍历Map类型的数据。Map的遍历可以通过直接指定Map的值或者引用数据栈中的Map对象来实现: ```xml <s:iterator value="{'1':'a','2':'b'}" id="id" status="st"> key: ...
- **遍历数组或列表**:`<s:iterator value="{'1','2','3','4','5'}" id='number'>...</s:iterator>` 这个例子中,`siterator` 标签将遍历给定的字符串数组,并为每个元素提供 ID 'number'。 - **利用 status 获取...
Struts2框架中的`s:iterator`标签是用于循环遍历集合数据的重要标签,适用于处理数组、列表、Map等数据结构。下面将详细讲解这个标签的用法及其各种属性。 1. **基本用法** `s:iterator`标签的基础用法是通过`...
通过以上这些方法,Struts2的`<s:iterator>`标签能够灵活地处理Map和List数据,大大简化了JSP页面的数据展示逻辑。了解并熟练运用这些特性,能提高开发效率,让代码更加简洁易读。在实际项目中,根据具体需求进行...
- `<s:iterator>` 用于遍历集合,如ArrayList、Map等,可以循环输出集合中的元素。 H. `<s:head>`, `<s:hidden>`: - `<s:head/>` 在HTML的`<head>`标签中使用,用于生成头部信息。 - `<s:hidden>` 创建一个隐藏字段...
根据提供的文件信息,本文将详细解析Struts2框架中遍历集合的方法,并附带介绍一些常用的Struts2标签使用技巧。 ### Struts2框架简介 Struts2是Apache基金会下的一个开源项目,它是一个用于开发Java Web应用程序的...
在Struts2中,所有的标签都统一在`<s>`前缀下,通过引入`<%@ taglib prefix="s" uri="/struts-tags" %>`就可以在页面上使用这些标签。 **A组标签:** 1. `<s:a>` - 用于创建超链接,与HTML的`<a>`标签类似,可以...
4. `<s:iterator>`:迭代标签,用于遍历集合对象,如List、Map等。例如: ```jsp <s:iterator value="users"> <tr> <td><s:property value="username" /></td> <td><s:property value="email" /></td> </tr> ...
5. **Iterative Tags**: `<s:iterator>`标签用于遍历集合,如List、Map等,是循环渲染数据的关键。 6. **Input Tags**: 包括`<s:textfield>`、`<s:password>`、`<s:textarea>`等,用于创建表单输入元素,并能自动...
在Struts2中,`<input>`标签被广泛用于从前端页面向后端Action传递参数。例如: ```html <input name="userName" type="text" class="input6" size="15"> ``` 这里,`name`属性定义了参数名,这要求在Action中需...
这只是 Struts2 标签库中的一部分,还有许多其他标签,如 `<s:label>`、`<s:radio>`、`<s:select>` 等,它们各自都有特定的用途,帮助开发者更高效地构建动态网页。了解并熟练使用这些标签,可以极大地提升 Struts2 ...