append标签

     append标签用于将不同的迭代器组合在一起,使一上迭代器迭代完成后转移到下一个迭代器中继续迭代。在append标签内部,通过使用一上或多个param子标签来指定要一起迭代的集合。append标签通常和iterator标签一起使用。append标签内部的实现是通过org.apache.struts2.util.AppendIteratorFilter类来完成的。

  假设有3个迭代器组合在一起,每一个迭代器有3个元素,下面是新生成的迭代器中的元素被迭代的顺序。

  1.  第一个迭代器中的第一个元素

  2. 第一个迭代器中的第二个元素

  3. 第一个迭代器中的第三个元素

  4. 第二个迭代器中的第一个元素

  5. 第二个迭代器中的第二个元素

  6. 第二个迭代器中的第三个元素

  7. 第三个迭代器中的第一个元素

  8. 第三个迭代器中的第二个元素

  9. 第四个迭代器中的第三个元素


                            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

输出效果如下图所示: