Append标签把多个独立的可跌代对象,跟据先后顺序(Append英文含义)组合成一整个可跌代对象。这个对象最后往往做为iterator对象的value值。
Append标签属性 | ||||
---|---|---|---|---|
属性名 | 必要属性 | 默认值 | 类型 | 描述 |
var | true | String | 组合后放到Action Context中变量的名称,以%{#varname}方式获取这个变量 |
说明:省略奇葩属性performClearTagStateForTagPoolingServers
Append标签需要配合param标签使用,被组合的跌代器由一个或多个param标签传入,具体请看如下示例。
public class AppendIteratorTagAction extends ActionSupport { private List myList1; private List myList2; private List myList3; public String execute() throws Exception { myList1 = new ArrayList(); myList1.add("1"); myList1.add("2"); myList1.add("3"); myList2 = new ArrayList(); myList2.add("a"); myList2.add("b"); myList2.add("c"); myList3 = new ArrayList(); myList3.add("A"); myList3.add("B"); myList3.add("C"); return "done"; } public List getMyList1() { return myList1; } public List getMyList2() { return myList2; } public List getMyList3() { return myList3; } }
<s:append var="myAppendIterator"> <s:param value="%{myList1}" /> <s:param value="%{myList2}" /> <s:param value="%{myList3}" /> </s:append> <s:iterator value="%{#myAppendIterator}"> <s:property /> </s:iterator>
1 2 3 a b c A B C
Append标签同Merge标签一样,它们生成的被迭代对象为org.apache.struts2.util.AppendIteratorFilte对象,一但被迭代后,无法再次迭代(或许是我不知道,我没有从AppendIteratorFilte对象里找到对应的Reset方法,知道的朋友可以留言)。
无法应用Iterator的start、end、step属性,即使写了也无效。
版权声明:本文为20NN作者「sophia」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:http://www.20nn.cn/struts/struts-append.html
不良信息举报电话:029-85678878,商务合作短信留言:18291486809,邮箱:yte1@qq.com
『野天鹅』以分享生活智慧为中心,内容包括社保、档案、户籍、学业、商业、理财等,我们希望我们精心编排的内容能为您的日常生活提供真正有效的帮助。
『西安野天鹅网络技术有限公司』