20NN课程网
扫一扫,放到手机桌面

struts中文手册

Struts append标签语法与示例

Append标签把多个独立的可跌代对象,跟据先后顺序(Append英文含义)组合成一整个可跌代对象。这个对象最后往往做为iterator对象的value值。

Append标签属性

Append标签属性
属性名必要属性默认值类型描述
vartrueString组合后放到Action Context中变量的名称,以%{#varname}方式获取这个变量
说明:省略奇葩属性performClearTagStateForTagPoolingServers

Append

Append标签示例

Append标签需要配合param标签使用,被组合的跌代器由一个或多个param标签传入,具体请看如下示例。

Action代码

 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; }
}

标签html代码

<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

Merge标签对Iterator的限制

限制一:

Append标签同Merge标签一样,它们生成的被迭代对象为org.apache.struts2.util.AppendIteratorFilte对象,一但被迭代后,无法再次迭代(或许是我不知道,我没有从AppendIteratorFilte对象里找到对应的Reset方法,知道的朋友可以留言)。

限制二:

无法应用Iterator的start、end、step属性,即使写了也无效。

写一些自己的看法

网站优选

备案:陕ICP备17014144号-5

不良信息举报电话:029-85678878,商务合作短信留言:18291486809,邮箱:yte1@qq.com

『野天鹅』以分享生活智慧为中心,内容包括社保、档案、户籍、学业、商业、理财等,我们希望我们精心编排的内容能为您的日常生活提供真正有效的帮助。

『西安野天鹅网络技术有限公司』