Exemple JSON d’auto-complétion Struts 2

Exemple de saisie semi-automatique Struts 2 + JSON

Téléchargez-le -Struts2-AutoCompleter-JSON-Example.zip

Dans le dernier exemple deStruts 2 autocompleter, vous apprenez comment générer une liste des options de sélection pour le composant de saisie semi-automatique via la liste Java et l'expression ONGL. Alternatively, it’s possible to generate the select options via JSON data as well.

Avant de continuer, assurez-vous de bien comprendre l'utilisation de base du composantautocompleter et du pluginJSON. Lisez les articles ci-dessous.

Exemple de saisie semi-automatique Struts 2 + JSON

Dans ce didacticiel, vous allez utiliserStruts 2 JSON plugin pour convertir un objet au format JSON et le transmettre au composantautocompleter.

1. Obtenir la bibliothèque de dépendances

Obtenez toutes les bibliothèques de dépendances.

pom.xml

    
    
          org.apache.struts
      struts2-core
      2.1.8
    

    
    
          org.apache.struts
      struts2-dojo-plugin
      2.1.8
    

    
    
          org.apache.struts
      struts2-json-plugin
      2.1.8
    

2. action

Une classe à convertir au format JSON ultérieurement, pour fournir une liste des options de sélection au composantautocompleter.

DatabaseJSON.java

package com.example.common.action;

import java.util.HashMap;
import java.util.Map;

import com.opensymphony.xwork2.Action;

public class DatabaseJSON{

    private Map databases = new HashMap();

    public DatabaseJSON(){
        databases.put("MySQL", "MySQL");
        databases.put("Oracle", "Oracle");
        databases.put("PostgreSQL", "PostgreSQL");
        databases.put("Microsoft SQL Server", "Microsoft SQL Server");
        databases.put("DB2", "DB2");
        databases.put("Others", "Others");
    }

    public String execute() {
                return Action.SUCCESS;
    }

    public Map getDatabases() {
        return databases;
    }

    public void setDatabases(Map databases) {
        this.databases = databases;
    }
}

Une classe Action normale, effectuant simplement le travail de redirection et stockant la valeur du saisie semi-automatique.
AutoCompleterAction.java

package com.example.common.action;

import com.opensymphony.xwork2.ActionSupport;

public class AutoCompleterAction extends ActionSupport{

    private String yourDatabase;

    public String display() {
        return NONE;
    }

    public String getYourDatabase() {
        return yourDatabase;
    }

    public void setYourDatabase(String yourDatabase) {
        this.yourDatabase = yourDatabase;
    }

}

3. Résultat

Un peu délicat ici, utilisez un point de balise «s:url» vers une action «databaseJSON», qui renverra une liste de l'option au format JSON. Et liez-le au composant de saisie semi-automatique viahref=”%{databaseList}”.

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







Struts 2 autocompleter + JSON example

4. struts.xml

Configurez l'action et le fournisseur JSON comme suit:

<param name=”root”>databases</param>
Cela signifie convertir la propriété de bases de données de DatabaseJSON au format JSON, mais l’objet entier.





    

    
            
            
                databases
            
            
    

    
        
        pages/autocompleter-json.jsp
        

        
        pages/result.jsp
        
    

4. Demo

Accédez à l'URL d'action, maintenant les options de sélection de la saisie semi-automatique sont fournies par les données JSON.

Struts 2 AutoCompleter JSON example

Vous pouvez également accéder aux données JSON directement via l'URL suivante
http://localhost:8080/Struts2Example/databaseJSON.action

{
   "PostgreSQL":"PostgreSQL",
   "MySQL":"MySQL",
   "Others":"Others",
   "Oracle":"Oracle",
   "Microsoft SQL Server":"Microsoft SQL Server",
   "DB2":"DB2"
}