struts2 iterator、append、merge标签总结
<s:iterator>标签对集合进行迭代输出,可以指定三个属性:
- value:指定的就是被迭代的集合,该集合通常是使用 OGNL 表达式指定。如果没有指定该属性,则使用 ValueStack 栈顶的集合。
- var:等同 id 标签,但是不推荐使用。指定集合元素的当前对象
- status:该属性指定迭代时的 IteratorStatus 实例,通过该实例即可判断当前迭代元素的属性。该属性包含如下几种方法:
-
- int getCount() : 返回当前迭代了几个元素。
- int getIndex() : 返回当前迭代元素的索引。
- boolean isEven() : 返回当前被迭代的元素的索引是否是偶数。
- boolean isFirst() : 返回当前被迭代的元素的索引是否是第一个元素。
- boolean isLast() : 返回当前被迭代的元素的索引是否是最后一个元素。
- boolean isOdd() : 返回当前被迭代的元素的索引是否是技术。
<s:append>、<s:merge> 标签用于将多个集合拼接起来,组成一个新的集合。通过这种拼接,从而允许通过一个 <s:iterator> 表单就完成对多个集合的迭代
1、var:拼接后的集合属性的命名
2、<s:param value="">:作为append、merge的子标签,表示进行拼接的集合对象。
eg:
<s:append var="newList"> <s:param value="list1"/> <s:param value="list2"/> </s:append>
3、区别:两者拼接后得到的新集合中的元素的顺序不同。