Struts 2 und JSON-Beispiel

Struts 2 und JSON Beispiel

Im Beispiel von Struts 2 erfahren Sie, wie Sie ein Objekt über die Bibliothek "struts2-json-plugin.jar" in das JSON-Format konvertieren.

1. Abhängigkeitsbibliothek abrufen

Holen Sie sich diestruts2-json-plugin.jar Bibliothek.
pom.xml

    
    
          org.apache.struts
      struts2-core
      2.1.8
    

    
    
          org.apache.struts
      struts2-json-plugin
      2.1.8
    

2. Aktion (JSON)

Dies ist eine Aktionsklasse, die in das JSON-Format konvertiert wird.

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.Action;

public class JSONDataAction{

    private String string1 = "A";
    private String[] stringarray1 = {"A1","B1"};
    private int number1 = 123456789;
    private int[] numberarray1 = {1,2,3,4,5,6,7,8,9};
    private List lists = new ArrayList();
    private Map maps = new HashMap();

    //no getter method, will not include in the JSON
    private String string2 = "B";

    public JSONDataAction(){
        lists.add("list1");
        lists.add("list2");
        lists.add("list3");
        lists.add("list4");
        lists.add("list5");

        maps.put("key1", "value1");
        maps.put("key2", "value2");
        maps.put("key3", "value3");
        maps.put("key4", "value4");
        maps.put("key5", "value5");
    }

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

    public String getString1() {
        return string1;
    }

    public void setString1(String string1) {
        this.string1 = string1;
    }

    public String[] getStringarray1() {
        return stringarray1;
    }

    public void setStringarray1(String[] stringarray1) {
        this.stringarray1 = stringarray1;
    }

    public int getNumber1() {
        return number1;
    }

    public void setNumber1(int number1) {
        this.number1 = number1;
    }

    public int[] getNumberarray1() {
        return numberarray1;
    }

    public void setNumberarray1(int[] numberarray1) {
        this.numberarray1 = numberarray1;
    }

    public List getLists() {
        return lists;
    }

    public void setLists(List lists) {
        this.lists = lists;
    }

    public Map getMaps() {
        return maps;
    }

    public void setMaps(Map maps) {
        this.maps = maps;
    }

}

3. struts.xml

Um die JSON-Daten auszugeben, müssen Sie ein Paket deklarieren, das die "json-default" und den Ergebnistyp als "json" erweitert.





   

   
      
           
      
    

4. Demo

Greifen Sie auf die Aktions-URL zu. DieJSONDataAction’s properties werden in das JSON-Format konvertiert.
http://localhost:8080/Struts2Example/getJSONResult.action

Struts 2 JSON example

JSON-Format…

{
   "lists":["list1","list2","list3","list4","list5"],
   "maps":
   {
     "key4":"value4","key3":"value3","key5":"value5","key2":"value2","key1":"value1"
   },
   "number1":123456789,
   "numberarray1":[1,2,3,4,5,6,7,8,9],
   "string1":"A",
   "stringarray1":["A1","B1"]
}

Ich hoffe, dieses supereinfache Beispiel kann Ihnen einen Überblick darüber geben, wie das JSON-Plugin mit Struts 2 funktioniert hat. Es gibt jedoch noch viele nützliche Einstellungen, die hier nicht behandelt werden. Lesen Sie die Dokumentation zuStruts 2 JSON plugin, um weitere Informationen zu erhalten.

Quellcode herunterladen

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