Struts2中的merge标记和append标记有什么不同?

时间:2014-11-12 02:27:48

标签: struts2 tags

我在链接http://www.tutorialspoint.com/struts_2/struts_control_tags.htm中阅读Struts 2教程。

但是在章节中:Struts 2 Control Tags 我看它们的功能是一样的,所以我不明白本教程中merge标签和append标签之间的区别。

请向我解释清楚!

(SRC)

合并代码:

这些合并标记将两个或多个列表作为参数并将它们合并在一起,如下所示:

<s:merge var="myMergedIterator">
     <s:param value="%{myList1}" />
     <s:param value="%{myList2}" />
     <s:param value="%{myList3}" />
</s:merge>
<s:iterator value="%{#myMergedIterator}">
     <s:property />
</s:iterator>

追加标记:

这些追加标记将两个或多个列表作为参数并将它们全部附加在一起,如下所示:

<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 个答案:

答案 0 :(得分:2)

除了元素组合在一起的方式之外,它们几乎相同。

  • Append Tag - 一个接一个地附加值
  • Merge Tag - 编辑列表的值

例如,如果你有3个这样的列表:

  • myList1 : a, b, c, d
  • myList2 : 1, 2, 3, 4
  • myList3 : A, B, C, D

使用Append会导致:

  • a, b, c, d, 1, 2, 3, 4, A, B, C, D (同一列表中的所有值都是相邻的。列表已经一个接一个地放置。)

使用Merge会导致:

  • a, 1, A, b, 2, B, c, 3, C, d, 4, D (列表已经编织在一起,每次从列表中取出一个元素。如果列表中的一个较短,则较长列表的其余元素将放置在编织后的末尾)