Пример JSON автозаполнения Struts 2

Автозаполнение Struts 2 + пример JSON

Скачать -Struts2-AutoCompleter-JSON-Example.zip

В последнем примереStruts 2 autocompleter вы узнаете, как сгенерировать список опций выбора для компонента автозаполнения с помощью списка Java и выражения ONGL. Alternatively, it’s possible to generate the select options via JSON data as well.

Прежде чем продолжить, убедитесь, что вы понимаете основы использования компонентаautocompleter и плагинаJSON. Прочтите статьи ниже.

Автозаполнение Struts 2 + пример JSON

В этом руководстве вы будете использоватьStruts 2 JSON plugin для преобразования объекта в формат JSON и передачи его в компонентautocompleter.

1. Получить библиотеку зависимостей

Получите все библиотеки зависимостей.

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. действие

Класс, который позже будет преобразован в формат JSON, чтобы предоставить список вариантов выбора для компонентаautocompleter.

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

Обычный класс Action, который выполняет перенаправление и сохраняет значение автозаполнения.
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. Результат

Здесь немного сложно, используйте тег «s:url», указывающий на действие «databaseJSON», которое вернет список параметров в формате JSON. И свяжите его с компонентом автозаполнения черезhref=”%{databaseList}”.

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







Struts 2 autocompleter + JSON example

4. struts.xml

Настройте поставщик действий и JSON следующим образом:

<param name=”root”>databases</param>
Это означает преобразование свойства базы данных DatabaseJSON в формат JSON, но всего объекта.






    

    
            
            
                databases
            
            
    

    
        
        pages/autocompleter-json.jsp
        

        
        pages/result.jsp
        
    

4. Demo

Получите доступ к URL-адресу действия, теперь параметры выбора автозаполнения предоставляются данными JSON.

Struts 2 AutoCompleter JSON example

В качестве альтернативы вы можете получить доступ к данным JSON напрямую через следующий URL-адрес
http://localhost:8080/Struts2Example/databaseJSON.action

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