struts2 <s:append>标签示例

广告位

Struts2 的 append(追加)标签被用来组合几个迭代器(以列表或映射创建)成一个单一的迭代…

Struts2 的 append(追加)标签被用来组合几个迭代器(以列表或映射创建)成一个单一的迭代器。这里创建一个Web工程:struts2appendtag,来演示在多个复选框如何设置的默认值,整个项目的结构如下图所示:

struts2 <s:append>标签示例

在本教程中,将使用Struts2 <s:append>标签执行以下任务:

  1. 组合三个ArrayList 到一个迭代器。
  2. 组合三个HashMap到一个迭代器。
  3. 合并ArrayList和HashMap到一个迭代器。
假设2个迭代器,每个都有两个项,用后追加标签结合成一个迭代器,这些条目的顺序将类似于以下内容:

  1. 第一迭代器的第一项
  2. 第一个迭代器的第二项
  3. 第二个迭代器的第一项
  4. 第二个迭代器的第二项
这仅适用于列表迭代器;映射迭代器,顺序是随机的。

1. 动作

Action类有3个 ArrayList 和 3 个 HashMap属性。

AppendTagAction

package com.yiibai.common.action;    import java.util.ArrayList;  import java.util.HashMap;  import java.util.List;  import java.util.Map;    import com.opensymphony.xwork2.ActionSupport;     public class AppendTagAction extends ActionSupport{     	private List<String> list1 = new ArrayList<String>();  	private List<String> list2 = new ArrayList<String>();  	private List<String> list3 = new ArrayList<String>();    	private Map<String,String> map1 = new HashMap<String,String>();  	private Map<String,String> map2 = new HashMap<String,String>();  	private Map<String,String> map3 = new HashMap<String,String>();  	  	public String execute() {  		  		list1.add("List1 - 1");  		list1.add("List1 - 2");  		list1.add("List1 - 3");  		  		list2.add("List2 - 1");  		list2.add("List2 - 2");  		list2.add("List2 - 3");  		  		list3.add("List3 - 1");  		list3.add("List3 - 2");  		list3.add("List3 - 3");  		  		map1.put("map1-key1", "map1-value1");  		map1.put("map1-key2", "map1-value2");  		map1.put("map1-key3", "map1-value3");  		  		map2.put("map2-key1", "map2-value1");  		map2.put("map2-key2", "map2-value2");  		map2.put("map2-key3", "map2-value3");  		  		map3.put("map3-key1", "map3-value1");  		map3.put("map3-key2", "map3-value2");  		map3.put("map3-key3", "map3-value3");  		  		return SUCCESS;  	}    	//getter methods...  }

2. Append 标签文档

JSP页面使用<s:append>标签将3个ArrayList/3个HashMap/1个ArrayList+1个HashMap合并成一个迭代器,并遍历它的值,并打印出来。

appendIterator.jsp

<%@ taglib prefix="s" uri="/struts-tags" %>   <html>  <head><title>Struts2 append 标签示例 - by www.yiibai.com</title>  </head>     <body>  <h1>Struts2 Append 标签示例</h1>    1. Combine 3 ArrayList into a single iterator.  <s:append var="customListIterator">       <s:param value="%{list1}" />       <s:param value="%{list2}" />       <s:param value="%{list3}" />  </s:append>  <ol>  <s:iterator value="%{#customListIterator}">       <li><s:property /></li>  </s:iterator>  </ol>    2. Combine 3 HashMap into a single iterator.  <s:append var="customMapIterator">       <s:param value="%{map1}" />       <s:param value="%{map2}" />       <s:param value="%{map3}" />  </s:append>  <ol>  <s:iterator value="%{#customMapIterator}">       <li><s:property /></li>  </s:iterator>  </ol>    3. Combine ArrayList and HashMap into a single iterator.  <s:append var="customMixedIterator">       <s:param value="%{list1}" />       <s:param value="%{map1}" />  </s:append>  <ol>  <s:iterator value="%{#customMixedIterator}">       <li><s:property /></li>  </s:iterator>  </ol>    </body>  </html>

3. struts.xml

<?xml version="1.0" encoding="UTF-8" ?>  <!DOCTYPE struts PUBLIC  "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"  "http://struts.apache.org/dtds/struts-2.0.dtd">     <struts>     	<constant name="struts.devMode" value="true" />  	  	<package name="default" namespace="/" extends="struts-default">  	  		<action name="appendTagAction"   			class="com.yiibai.common.action.AppendTagAction" >  			<result name="success">/pages/appendIterator.jsp</result>  		</action>  		  	</package>  		  </struts>

4. 示例

struts2 <s:append>标签示例

在浏览器中打开,显示结果如下:

Struts 2 Append tag example    1. Combine 3 ArrayList into a single iterator.      1. List1 - 1    2. List1 - 2    3. List1 - 3    4. List2 - 1    5. List2 - 2    6. List2 - 3    7. List3 - 1    8. List3 - 2    9. List3 - 3    2. Combine 3 HashMap into a single iterator.      1. map1-key3=map1-value3    2. map1-key1=map1-value1    3. map1-key2=map1-value2    4. map2-key2=map2-value2    5. map2-key3=map2-value3    6. map2-key1=map2-value1    7. map3-key3=map3-value3    8. map3-key1=map3-value1    9. map3-key2=map3-value2    3. Combine ArrayList and HashMap into a single iterator.      1. List1 - 1    2. List1 - 2    3. List1 - 3    4. map1-key3=map1-value3    5. map1-key1=map1-value1    6. map1-key2=map1-value2

参考

下载代码 –

  

洁姐我爱你

关于作者: 洁姐我爱你

为您推荐