Struts2标签—Iterator标签

Iterator标签

该标签用于对集合、Map和数组进行迭代。

迭代LIst:

public String testList(){
	Person person1 = new Person();
	person1.setName("张三");
	person1.setAge(23);
		
	Person person2 = new Person();
	person2.setName("李四");
	person2.setAge(24);
		
	Person person3 = new Person();
	person3.setName("狗蛋");
	person3.setAge(25);
		
	List<Person> list = new ArrayList<Person>();
	list.add(person1);
	list.add(person2);
	list.add(person3);
	//将list存放到对象栈
	ActionContext.getContext().getValueStack().push(list);
	//将list存放到Map栈
	ActionContext.getContext().put("personList", list);
		
	return "iterator";
}
迭代方式:

<span style="white-space:pre">	</span><!-- 迭代对象栈的List -->
	<table>
		<tr>
			<td>姓名</td>
			<td>年龄</td>
		</tr>
		<s:iterator>
			<tr>
				<td>
					<s:property value="name"/>	
				</td>
				<td>
					<s:property value="age"/>
				</td>
			</tr>
		</s:iterator>
	</table>
	
	<!-- 迭代对象栈中的List -->
	<table> 
		<tr>
			<td>姓名</td>
			<td>年龄</td>
		</tr>
		<s:iterator value="#personList">
			<tr>
				<td>
					<s:property value="name"/>	
				</td>
				<td>
					<s:property value="age"/>
				</td>
			</tr>
		</s:iterator>
	</table>
——————————————————————————————————————————————————————————

迭代Map

<span style="white-space:pre">	</span>public String testMap(){
		Person person1 = new Person();
		person1.setName("张三");
		person1.setAge(23);
		
		Person person2 = new Person();
		person2.setName("李四");
		person2.setAge(24);
		
		Person person3 = new Person();
		person3.setName("狗蛋");
		person3.setAge(25);
		
		Map<String, Person> map = new HashMap<String, Person>();
		map.put("person1", person1);
		map.put("person2", person2);
		map.put("person3", person3);
		//将Map存放到对象栈
		ActionContext.getContext().getValueStack().push(map);
		//将Map存放到Map栈
		ActionContext.getContext().put("map", map);
		return "iterator";
	}
迭代方式:

<span style="white-space:pre">	</span><!-- 迭代对象栈中的map -->
	<table> 
		<tr>
			<td>姓名</td>
			<td>年龄</td>
		</tr>
		<s:iterator >
			<tr>
				<td>
					<s:property value="value.name"/>	
				</td>
				<td>
					<s:property value="value.age"/>
				</td>
			</tr>
		</s:iterator>
	</table>
	
	<!-- 迭代Map栈的中Map -->
	<table> 
		<tr>
			<td>姓名</td>
			<td>年龄</td>
		</tr>
		<s:iterator value="#map">
			<tr>
				<td>
					<s:property value="value.name"/>	
				</td>
				<td>
					<s:property value="value.age"/>
				</td>
			</tr>
		</s:iterator>
	</table>
总结:

1、value属性不写,默认迭代栈顶的元素。

2、value属性指向要迭代的List、Map或数组。

3、当前迭代的元素在栈顶。

4、var指向当前正在迭代的元素,在map栈中

5、status属性表示正在迭代的状态:

int getCount() 返回当前迭代的元素个数
int getIndex() 返回当前迭代元素的索引
boolean isEven() 返回当前迭代元素的索引是否是偶数
boolean isOdd() 返回当前迭代元素的索引是否是奇数
boolean isFirst() 返回当前迭代元素是否为第一个元素
boolean isLast() 返回当前迭代元素是否为最后一个元素




你可能感兴趣的:(struts2,iterator标签)