Exemple de balise de tri Struts 2

Exemple d'étiquette de tri Struts 2

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

La balise Struts 2sort est utilisée pour trier une liste à l'aide d'unjava.util.Comparator. Dans ce didacticiel, vous allez créer 6 objets Person et tout ajouter dans une ArrayList, et utiliser la balisesort pour trier l'ArrayList en fonction de la propriété de Person.

Pour utiliser cette balise Struts 2sort, vous devez comprendre comment fonctionnejava.util.Comparator, veuillez lire cet article -Java object sorting with Comparator.

1. Objet personne

Créez un objet Personne avec les propriétés "firstName", "lastName" et "age".

Person.java

package com.example.common;

public class Person{

    private String firstName;
    private String lastName;
    private int age;

    public Person(String firstName, String lastName, int age) {
        super();
        this.firstName = firstName;
        this.lastName = lastName;
        this.age = age;
    }

    public String getFirstName() {
        return firstName;
    }
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }
    public String getLastName() {
        return lastName;
    }
    public void setLastName(String lastName) {
        this.lastName = lastName;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
}

2. Comparateur

Créez des classes 2Comparator, pour trier les propriétés «firstName» et «age» de la personne.

FirstNameComparator.java

package com.example.common;

import java.util.Comparator;
import com.example.common.Person;

public class FirstNameComparator implements Comparator {

    public int compare(Person p1, Person p2) {

        String firstName1 = p1.getFirstName().toUpperCase();
        String firstName2 = p2.getFirstName().toUpperCase();

        return firstName1.compareTo(firstName2);
    }
}

AgeComparator.java

package com.example.common;

import java.util.Comparator;
import com.example.common.Person;

public class AgeComparator implements Comparator {

    public int compare(Person p1, Person p2) {

        return p1.getAge() - p2.getAge();

    }
}

3. action

Classe d'action, initialisez 6 objets Person et ajoutez-les dans une ArrayList.

package com.example.common.action;

import java.util.ArrayList;
import java.util.List;

import com.example.common.Person;
import com.opensymphony.xwork2.ActionSupport;

public class SortTagAction extends ActionSupport{

    private List persons = new ArrayList();

    public String execute() {

        Person p1 = new Person("C-First", "C-Last", 40);
        Person p2 = new Person("A-First", "A-Last", 20);
        Person p3 = new Person("B-First", "B-Last", 10);
        Person p4 = new Person("F-First", "F-Last", 33);
        Person p5 = new Person("E-First", "E-Last", 22);
        Person p6 = new Person("D-First", "D-Last", 11);

        persons.add(p1);
        persons.add(p2);
        persons.add(p3);
        persons.add(p4);
        persons.add(p5);
        persons.add(p6);

        return SUCCESS;
    }

    public List getPersons() {
        return persons;
    }
    public void setPersons(List persons) {
        this.persons = persons;
    }
}

4. Exemple de balise de tri

Une page JSP pour montrer l'utilisation de la balisesort pour trier la liste avec «FirstNameComparator» et «AgeComparator».

sort.jsp

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




Struts 2 Sort tag example

1. Display all persons (unsort).
  1. , ,
2. Display all persons (sort with firstName).
  1. , ,
3. Display all persons (sort with age).
  1. , ,

5. struts.xml

Liez-le ~




    
    
        
            pages/sort.jsp