Пример тега слияния Struts 2

Пример тега слияния Struts 2

Скачать -Struts2-Merge-Tag-Example.zip

Тег Struts 2merge используется для объединения нескольких итераторов (созданных List или Map) в один итератор. В этом руководстве вы будете использовать тег Struts 2merge для выполнения следующих задач:

  1. Объедините триArrayListв один итератор.

  2. Объедините триHashMapв один итератор.

  3. ОбъединитеArrayList иHashMap в один итератор.

Предположим, 2 итератора, каждый из которых имеет две записи, после слияния с тегомmerge в один итератор порядок записей будет выглядеть следующим образом:

  1. Первая запись первого итератора.

  2. Первая запись второго итератора.

  3. Вторая запись первого итератора.

  4. Вторая запись второго итератора.

Это относится только к итератору списка; Карта итератора, порядок будет случайным.

1. действие

Класс Action с 3 свойствами ArrayList и 3 HashMap.

MergeTagAction

package com.example.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 MergeTagAction extends ActionSupport{

    private List list1 = new ArrayList();
    private List list2 = new ArrayList();
    private List list3 = new ArrayList();

    private Map map1 = new HashMap();
    private Map map2 = new HashMap();
    private Map map3 = new HashMap();

    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. Пример добавления тега

Страница JSP, показывающая использование тегаmerge для объединения 3 ArrayList / 3 HashMap / 1 ArrayList + 1 HashMap в один итератор, а также перебрать его значение и распечатать его.

merge.jsp

<%@ taglib prefix="s" uri="/struts-tags" %>
 




Struts 2 Merge tag example

1. Merge 3 ArrayList into a single iterator.
2. Merge 3 HashMap into a single iterator.
3. Merge ArrayList and HashMap into a single iterator.

3. struts.xml

Ссылка это ~






    

    

        
            pages/merge.jsp
        

    

4. Demo

Выход

Struts 2 Merge tag example

1. Merge 3 ArrayList into a single iterator.

  1. List1 - 1
  2. List2 - 1
  3. List3 - 1
  4. List1 - 2
  5. List2 - 2
  6. List3 - 2
  7. List1 - 3
  8. List2 - 3
  9. List3 - 3

2. Merge 3 HashMap into a single iterator.

  1. map1-key3=map1-value3
  2. map2-key2=map2-value2
  3. map3-key3=map3-value3
  4. map1-key1=map1-value1
  5. map2-key3=map2-value3
  6. map3-key1=map3-value1
  7. map1-key2=map1-value2
  8. map2-key1=map2-value1
  9. map3-key2=map3-value2

3. Merge ArrayList and HashMap into a single iterator.

  1. List1 - 1
  2. map1-key3=map1-value3
  3. List1 - 2
  4. map1-key1=map1-value1
  5. List1 - 3
  6. map1-key2=map1-value2