Exemple de balise de fusion Struts 2

Exemple de balise de fusion Struts 2

Téléchargez-le -Struts2-Merge-Tag-Example.zip

La balise Struts 2merge est utilisée pour fusionner quelques itérateurs (créés par List ou Map) en un seul Iterator. Dans ce didacticiel, vous utiliserez la balise Struts 2merge pour effectuer les tâches suivantes:

  1. Fusionnez troisArrayList en un seul itérateur.

  2. Fusionnez troisHashMap en un seul itérateur.

  3. FusionnezArrayList etHashMap en un seul itérateur.

Supposons 2 itérateurs, chacun a deux entrées, après la fusion avec la balisemerge en un seul itérateur, l'ordre des entrées ressemblera à ceci:

  1. Première entrée du premier itérateur.

  2. Première entrée du deuxième itérateur.

  3. Deuxième entrée du premier itérateur.

  4. Deuxième entrée du deuxième itérateur.

Cela s'applique uniquement à l'itérateur List; Itérateur de carte, la commande sera aléatoire.

1. action

Une classe Action avec 3 propriétés ArrayList et 3 propriétés 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. Exemple d'ajout de balise

Une page JSP pour montrer l'utilisation de la balisemerge pour combiner les 3 ArrayList / 3 HashMap / 1 ArrayList + 1 HashMap en un seul itérateur, puis boucler sur sa valeur et l'imprimer.

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

Liez-le ~





    

    

        
            pages/merge.jsp
        

    

4. Demo

Sortie

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