<s:iterator>各种遍历用法
4、普通属性
public String execute(){
username = "zhangsan";
password = "123";
}
<s:property value="username"/><br>
<s:property value="password"/><br>
5、自定义对象
public String execute(){
userInfo = new UserInfo();
userInfo.setUsername("hhh");
userInfo.setPassword("111");
}
<s:property value="userInfo.username"/><br>
<s:property value="userInfo.password"/><br>
6、List(普通属性)
public String execute(){
list = new ArrayList<String>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
}
<s:iterator value="list" var="var">
<s:property value="var"/><br>
</s:iterator>
或者:
<s:iterator value="list">
<s:property/><br>
</s:iterator>
6、List(自定义对象属性)
public String execute(){
list = new ArrayList<UserInfo>();
UserInfo userInfo = new UserInfo();
userInfo.setUsername("u1");
userInfo.setPassword("p1");
userInfo.setRoleInfo(new RoleInfo("r1"));
list.add(userInfo);
userInfo = new UserInfo();
userInfo.setUsername("u2");
userInfo.setPassword("p2");
userInfo.setRoleInfo(new RoleInfo("r2"));
list.add(userInfo);
}
<s:iterator value="list" var="var">
<s:property value="#var.username"/>
<s:property value="#var.password"/>
<s:property value="#var.roleInfo.rolename"/><br>
</s:iterator>
或者:
<s:iterator value="list">
<s:property value="username"/>
<s:property value="password"/>
<s:property value="roleInfo.rolename"/><br>
</s:iterator>
7、数组(普通属性)
public String execute(){
strs = new String[2];
strs[0] = "as";
strs[1] = "asd";
}
<s:iterator value="strs">
<s:property/><br>
</s:iterator>
或者:
<s:iterator value="strs" var="var">
<s:property value="var"/><br>
</s:iterator>
8、数组(自定义对象属性)
public String execute(){
strs = new UserInfo[2];
UserInfo userInfo = new UserInfo();
userInfo.setUsername("u11");
userInfo.setPassword("11");
strs[0] = userInfo;
userInfo = new UserInfo();
userInfo.setUsername("u22");
userInfo.setPassword("22");
strs[1] = userInfo;
}
<s:iterator value="strs">
<s:property value="username"/>
<s:property value="password"/><br>
</s:iterator>
或者:
<s:iterator value="strs" var="var">
<s:property value="#var.username"/>
<s:property value="#var.password"/><br>
</s:iterator>
8、数组(自定义对象属性)
public String execute(){
strs = new UserInfo[2];
UserInfo userInfo = new UserInfo();
userInfo.setUsername("u11");
userInfo.setPassword("11");
userInfo.setRoleInfo(new RoleInfo("r11"));
strs[0] = userInfo;
userInfo = new UserInfo();
userInfo.setUsername("u22");
userInfo.setPassword("22");
userInfo.setRoleInfo(new RoleInfo("r22"));
strs[1] = userInfo;
}
<s:iterator value="strs" var="var">
<s:property value="#var.username"/>
<s:property value="#var.password"/>
<s:property value="#var.roleInfo.rolename"/><br>
</s:iterator>
或者:
<s:iterator value="strs">
<s:property value="username"/>
<s:property value="password"/>
<s:property value="roleInfo.rolename"/><br>
</s:iterator>
8、Map(普通属性)
public String execute(){
map = new HashMap<String,String>();
map.put("k1", "v1");
map.put("k2", "v2");
}
<s:iterator value="map" var="var">
<s:property value="#var.key"/>
<s:property value="#var.value"/><br>
</s:iterator>
或者:
<s:iterator value="map">
<s:property value="key"/>
<s:property value="value"/><br>
</s:iterator>
8、Map(自定义对象属性)
public String execute(){
map = new HashMap<String,UserInfo>();
UserInfo userInfo = new UserInfo();
userInfo.setUsername("u1");
userInfo.setPassword("p1");
userInfo.setRoleInfo(new RoleInfo("r1"));
map.put("k1", userInfo);
userInfo = new UserInfo();
userInfo.setUsername("u2");
userInfo.setPassword("p2");
userInfo.setRoleInfo(new RoleInfo("r2"));
map.put("k2", userInfo);
}
<s:iterator value="map" var="var">
<s:property value="#var.key"/>
<s:property value="#var.value.username"/>
<s:property value="#var.value.password"/>
<s:property value="#var.value.roleInfo.rolename"/><br>
</s:iterator>
或者
<s:iterator value="map">
<s:property value="key"/>
<s:property value="value.username"/>
<s:property value="value.password"/>
<s:property value="value.roleInfo.rolename"/><br>
</s:iterator>
8、Map嵌套Map(自定义对象属性)
public String execute(){
map = new TreeMap<String,Map<String,UserInfo>>();
Map<String,UserInfo> innerMap = new TreeMap<String,UserInfo>();
UserInfo userInfo = new UserInfo();
userInfo.setUsername("u1");
userInfo.setPassword("p1");
userInfo.setRoleInfo(new RoleInfo("r1"));
userInfo = new UserInfo();
userInfo.setUsername("u11");
userInfo.setPassword("p11");
userInfo.setRoleInfo(new RoleInfo("r11"));
innerMap.put("k1", userInfo);
innerMap.put("k11", userInfo);
map.put("key1", innerMap);
//////////////////////////
innerMap = new TreeMap<String,UserInfo>();
userInfo = new UserInfo();
userInfo.setUsername("u2");
userInfo.setPassword("p2");
userInfo.setRoleInfo(new RoleInfo("r2"));
userInfo = new UserInfo();
userInfo.setUsername("u22");
userInfo.setPassword("p22");
userInfo.setRoleInfo(new RoleInfo("r22"));
innerMap.put("k2", userInfo);
innerMap.put("k22", userInfo);
map.put("key2", innerMap);
}
<s:iterator value="map" var="var">
<s:iterator value="value">
<s:property value="#var.key"/>
<s:property value="key"/>
<s:property value="value.username"/>
<s:property value="value.password"/>
<s:property value="value.roleInfo.rolename"/><br>
</s:iterator>
</s:iterator>
相关推荐
接下来,我们将通过几个具体的示例来详细了解 `<s:if>` 标签的使用方法。 ##### 示例一:简单的条件判断 ```html <s:set name="country" value="China" /> <s:if test="%{#country == 'China'}"> This is China! ...
一旦Action处理完数据,我们可以使用`<s:iterator>`标签在JSP中遍历并展示这些集合。例如: ```jsp <s:iterator value="list"> <p><s:property value="this"/></p> </s:iterator> <s:iterator value="set"> ...
在这个例子中,`myMap`是Action类中的一个Map属性,`iterator`标签会遍历Map的每个键值对,并使用`s:property`标签显示它们。 接下来,我们讨论如何遍历List。List是一种有序的集合,`iterator`标签通过`status`...
<s:iterator value="FunTypeList"> <input type="radio" name="<s:property value='chartTypeList[#st.count-1].syntax'/>FunType" value="${dworder}" <s:if test="pieFunType.equals(dworder.toString())">...
本文将深入探讨如何使用Struts2中的`<s:iterator>`标签来遍历二维数组,并通过实例代码来具体说明其用法。 ### Struts2 Iterator标签 #### 1. 基本概念 `<s:iterator>`是Struts2的一个非常强大的标签,主要用于...
- `<s:iterator>` 标签用于遍历集合数据。 - 示例: ```xml <s:iterator value="linkList" status="bean"> <tr> <td class="data_tab_tdcl"> <s:property value="#bean.Index+1"/> </td> <td class="data_...
<s:if test="#st.isEven()">现在的索引是奇数为:<s:property value='#st.index'/></s:if> 当前元素值:<s:property value='char'/> </s:iterator> ``` 3. **遍历Map** `value`属性可以直接设置为Map对象,或者...
key:<s:property value='key'/> value:<s:property value='value'/> </s:iterator> ``` 或者: ```jsp <s:iterator value="map" id="id" status="st"> key:<s:property value='key'/> value:<s:property ...
当前索引是偶数为:<s:property value='#st.index'/></s:if> 当前元素值:<s:property value='char'/> </s:iterator> ``` 这段代码会判断当前元素索引是否为偶数,并打印相应的索引和元素值。 3. **遍历Map** ...
key : <s:property value='key'/>value:<s:property value='value'/> </s:iterator> ``` 4. **遍历数据栈中的对象和属性** 如果值是对象列表,例如`List<Attr>`,可以访问对象的属性,如`attrName`: ```jsp ...
- 如果 `value` 是数据栈中的 `java.util.Map` 对象,可以使用 `<s:iterator value="map" id="id" status="st">` 遍历,其中 `key` 和 `value` 通过 `status` 访问。 4. **遍历数据栈**: - 当 `value` 是 Action...
在这个例子中,`<s:iterator>`标签遍历一个名为`listOfObjects`的集合,`<s:if>`和`<s:else>`标签则根据`displayRow`变量的值决定是否渲染`<tr>`标签。`<s:property>`标签用于输出对象的属性值。 需要注意的是,`...
### Iterator遍历循环代码知识点详解 #### 一、概述 在Java编程语言中,集合框架是处理一组数据的重要工具之一。对于集合中的元素进行遍历是常见操作,而`Iterator`接口则是Java中最常用的一种遍历集合的方式。...
1. <s:generator separator="" val=""></s:generator>----和<s:iterator>标签一起使用 H: 1. <s:head/>-----在<head></head>里使用,表示头文件结束 2. <s:hidden></s:hidden>-----隐藏值 I: 1. <s:...
本文将详细解析`<s:iterator>`标签的使用方法,包括其关键属性、OGNL表达式的应用以及一些高级用法。 #### 1. 基础用法:遍历数组或列表 `<s:iterator>`标签最基本的用法是遍历一个数组或列表。例如: ```xml <s:...
通过本文档提供的代码示例,我们将深入探讨`<s:iterator>`标签的使用方法及其与不同数据类型(如简单对象、列表、数组)的交互方式。 ### 一、`<s:iterator>`标签的基本用法 `<s:iterator>`标签允许你在JSP页面上...
<s:iterator id="item" value="list" status="loopStatus"> <!-- 输出元素 --> <s:property value="%{#item.propertyName}" /> <!-- 输出索引 --> <s:property value="#loopStatus.index" /> <!-- 判断是否...
这样,当用户访问对应的URL时,Struts2会调用`MyAction`的`execute()`方法,填充Map数据,并将结果转发到`resultPage.jsp`,在那里使用`<s:iterator>`遍历并显示Map内容。 除了基本的遍历,Struts2还提供了丰富的...
<p>名称:<s:property value="name"/></p> </s:iterator> ``` - **说明**:遍历一个集合或数组,并对每个元素执行标签体内的内容。 25. **`<s:label>`** - 显示标签。 - **示例**: ```jsp <s:label value=...
在Struts2框架中,`iterator`标签是一个非常重要的组件,用于遍历各种集合对象,如List、Map等。在上述描述中,开发者遇到了一个关于`iterator`标签嵌套使用的问题,涉及到`LinkedHashMap`存储的数据结构。让我们...