首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Struts2 merge 標籤用法詳解:合併多個集合迭代

     編輯:Java 相關知識

功能簡介

<s:merge> 標籤將兩個或多個集合按交替順序合併為單一迭代器。例如列表 A=[A1,A2]、B=[B1,B2] 合併後為 [A1,B1,A2,B2]。

基本語法

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

完整實戰示例

Action 類

public class Employee {
    private List employees, contractors;
    public String execute() {
        employees = Arrays.asList(
            new Employee("George","Recruitment"),
            new Employee("Danielle","Accounts")
        );
        contractors = Arrays.asList(
            new Employee("Mindy","Database"),
            new Employee("Vanessa","Network")
        );
        return "success";
    }
    // getter/setter 省略
}

JSP 視圖

<%@ taglib prefix="s" uri="/struts-tags"%>
<b>Employees and Contractors Merged</b><br/>
<s:merge id="allemployees">
    <s:param value="employees" />
    <s:param value="contractors" />
</s:merge>
<s:iterator value="allemployees">
    <s:property value="name"/>, <s:property value="department"/><br/>
</s:iterator>

struts.xml 配置

<action name="employee" class="com.yiibai.struts2.Employee" method="execute">
    <result name="success">/employee.jsp</result>
</action>

輸出效果

George, Recruitment
Mindy, Database
Danielle, Accounts
Vanessa, Network

注意事項

  • 合併順序為參數聲明順序,輪流取各集合元素。
  • 集合長度不一時,較長集合剩餘元素依次追加。
  • var/id 指定合併後迭代器的變量名,供 <s:iterator> 使用。

總結

merge 標籤簡化了多集合交替展示的邏輯,避免在 Action 中手動合併列表,保持視圖層純粹。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved