package com.dineshonjava.struts2.action; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.opensymphony.xwork2.Action; /** * @author Dinesh Rajput * */ public class JSONAction{ private static final long serialVersionUID = 1L; private String name = "Dinesh"; private String[] cityArray = {"Noida","Delhi", "Mumbai"}; private int age = 27; private int[] pincodeArray = {20301,110006,210081}; private List<String> lists = new ArrayList<String>(); private Map<String, String> maps = new HashMap<String, String>(); //no getter method, will not include in the JSON private String otherName = "Other"; public JSONAction(){ 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 getName() { return name; } public void setName(String name) { this.name = name; } public String[] getCityArray() { return cityArray; } public void setCityArray(String[] cityArray) { this.cityArray = cityArray; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public int[] getPincodeArray() { return pincodeArray; } public void setPincodeArray(int[] pincodeArray) { this.pincodeArray = pincodeArray; } public List<String> getLists() { return lists; } public void setLists(List<String> lists) { this.lists = lists; } public Map<String, String> getMaps() { return maps; } public void setMaps(Map<String, String> maps) { this.maps = maps; } }Create Configuration file:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <constant name="struts.devMode" value="true" /> <package name="default" extends="json-default" namespace="/"> <action name="getjson" class="com.dineshonjava.struts2.action.JSONAction"> <result type="json"/> </action> </package> </struts>
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>Struts2JsonIntegration</display-name> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.FilterDispatcher </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>json.action</welcome-file> </welcome-file-list> </web-app>
Labels: struts2