Struts 2 Autocompleter + JSON-Beispiel

Struts 2 Autocompleter + JSON-Beispiel

Laden Sie es herunter -Struts2-AutoCompleter-JSON-Example.zip

Im Beispiel des letztenStruts 2 autocompletererfahren Sie, wie Sie eine Liste der Auswahloptionen für die Autocompleter-Komponente über Java-Liste und ONGL-Ausdruck generieren. Alternatively, it’s possible to generate the select options via JSON data as well.

Bevor Sie fortfahren, stellen Sie sicher, dass Sie die grundlegende Verwendung der Komponenteautocompleterund des PluginsJSONverstehen. Lesen Sie die folgenden Artikel.

Struts 2 Autocompleter + JSON-Beispiel

In diesen Lernprogrammen verwenden SieStruts 2 JSON plugin, um ein Objekt in das JSON-Format zu konvertieren und es an die Komponenteautocompleter zu übergeben.

1. Abhängigkeitsbibliothek abrufen

Holen Sie sich alle Abhängigkeitsbibliotheken.

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

Eine Klasse, die später in das JSON-Format konvertiert werden soll, um eine Liste der Auswahloptionen für die Komponenteautocompleterbereitzustellen.

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

Eine normale Aktionsklasse, die nur die Umleitungsarbeit ausführt und den Autocompleter-Wert speichert.
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. Ergebnis

Verwenden Sie hier einen etwas kniffligen Tag-Punkt "s:url" für eine Aktion "databaseJSON", die eine Liste der Optionen im JSON-Format zurückgibt. Und verknüpfen Sie es überhref=”%{databaseList}” mit der Autocompleter-Komponente.

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







Struts 2 autocompleter + JSON example

4. struts.xml

Konfigurieren Sie den Action- und JSON-Anbieter wie folgt:

<param name=”root”>databases</param>
Dies bedeutet, dass die Datenbankeigenschaft von DatabaseJSON in das JSON-Format konvertiert wird, jedoch das gesamte Objekt.





    

    
            
            
                databases
            
            
    

    
        
        pages/autocompleter-json.jsp
        

        
        pages/result.jsp
        
    

4. Demo

Greifen Sie auf die Aktions-URL zu. Jetzt werden die Optionen für die automatische Vervollständigung durch die JSON-Daten bereitgestellt.

Struts 2 AutoCompleter JSON example

Alternativ können Sie über die folgende URL
http://localhost:8080/Struts2Example/databaseJSON.action direkt auf die JSON-Daten zugreifen

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