append标签
append标签用于将不同的迭代器组合在一起,使一上迭代器迭代完成后转移到下一个迭代器中继续迭代。在append标签内部,通过使用一上或多个param子标签来指定要一起迭代的集合。append标签通常和iterator标签一起使用。append标签内部的实现是通过org.apache.struts2.util.AppendIteratorFilter类来完成的。
假设有3个迭代器组合在一起,每一个迭代器有3个元素,下面是新生成的迭代器中的元素被迭代的顺序。
第一个迭代器中的第一个元素
第一个迭代器中的第二个元素
第一个迭代器中的第三个元素
第二个迭代器中的第一个元素
第二个迭代器中的第二个元素
第二个迭代器中的第三个元素
第三个迭代器中的第一个元素
第三个迭代器中的第二个元素
第四个迭代器中的第三个元素
appendTag.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@ taglib uri="/struts-tags" prefix="s" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head><title>append标签的使用</title></head> <body> <h3>将多个列表组合在一起进行迭代</h3> <s:append id="myAppendIterator"> <s:param value="{'《Java Web开发详讲》','《VC++深入详解》'}"/> <s:param value="{'《Struts2开发详解》','《Java无难事》'}"/> <s:param value="{'《Hibernate深入详解》','《Spring开发详解》'}"/> </s:append> <s:iterator value="#myAppendIterator" status="status"> <s:property/><s:if test="!#status.last">,</s:if><s:else>。</s:else> </s:iterator> </body> </html>
启动Tomcat服务器,在浏览器的地址栏中输入下面的URL:
http://localhost:8080/ch08/appendTag.jsp
输出效果如下图所示: