Пример Struts 2 и JSON
В примере Struts 2 вы узнаете, как преобразовать объект в формат JSON с помощью библиотеки «struts2-json-plugin.jar».
1. Получить библиотеку зависимостей
Получите библиотекуstruts2-json-plugin.jar.
pom.xml
org.apache.struts
struts2-core
2.1.8
org.apache.struts
struts2-json-plugin
2.1.8
2. Действие (JSON)
Это класс Action, который будет преобразован в формат JSON.
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
Чтобы вывести данные JSON, вам необходимо объявить пакет, расширяющий «json-default», и тип результата как «json».
4. Demo
Получите доступ к URL-адресу действия,JSONDataAction’s properties будет преобразован в формат JSON.
http://localhost:8080/Struts2Example/getJSONResult.action

Формат JSON…
{
"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"]
}
Надеюсь, этот супер простой пример может дать вам общее представление о том, как плагин JSON работал со Struts 2. Тем не менее, многие полезные настройки все еще не описаны, поэтому обязательно прочтите документациюStruts 2 JSON plugin для получения более подробной информации.
Скачать исходный код
Скачать -Struts2-JSON-Example.zip