1. Get dependency library
Get the struts2-json-plugin.jar library.
pom.xml
<!-- Struts 2 -->
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.1.8</version>
</dependency>
<!-- Struts 2 JSON Plugins -->
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-json-plugin</artifactId>
<version>2.1.8</version>
</dependency>
2. Action (JSON)
This is an Action class which will be converted into JSON format.
package com.mkyong.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<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 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<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;
}
}
3. struts.xml
To output the JSON data, you need to declared a package which extends the “json-default“, and result type as “json“.
<?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" namespace="/" extends="json-default">
<action name="getJSONResult"
class="com.mkyong.common.action.JSONDataAction">
<result type="json" />
</action>
</package>
</struts>
4. Demo
Access the action URL, the JSONDataAction’s properties will be converted into JSON format.
http://localhost:8080/Struts2Example/getJSONResult.action
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"]
}
所需jar包:
commons-beanutils-1.7.0.jar
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
commons-lang-2.3.jar
commons-logging-1.0.4.jar
ezmorph-1.0.3.jar
freemarker-2.3.15.jar
json-lib-2.1.jar
ognl-2.7.3.jar
struts2-core-2.1.8.1.jar
struts2-json-plugin-2.1.8.1.jar
xwork-core-2.1.6.jar
http://www.mkyong.com/struts2/struts-2-and-json-example/
分享到:
相关推荐
该资源是使用struts2框架进行操作,返回json格式数据,前台通过ajax提交内容。
Struts2+Json+Android简单实现,StrutsJson为服务端代码,JSONDemo为Android端代码
Struts+Jquery+Ajax+Json应用实例,前端引入jquery,后台使用struts框架。前端js调用后台action,并将后台返回的json数据进行解析,设置web页面
struts2+jQuery+json 实例
struts+json+ajax结合开发,及struts标签的使用文档
struts2+jQuery+json 实例
uploadfy+easyui+struts+json文件上传 利用uploadfy、easyui、struts和json技术实现文件上传 其中只在action中模拟接收文件,存储文件到指定目录,但是没有跟数据库打交道。 但是这个跟数据库打交道的问题,大家很...
Struts2+Spring2.5+jdbc+Ext+json实例用到的lib包。
struts2+spring2.5+jdbc+ext+json实例用到的lib包。
ExtJS4+Accordion+SERVLET/STRUTS2+JSON+Ext.tree.Panel实例
一个简单的struts2+json+jquery 交互的例子,记得把Tomcat依赖加入到工程中
为了满足学习新技术的朋友们,自己搭建了一个struts2+spring2.5+jdbc+ext+json框架的实例。
简单Struts+Hibernate实例
struts2+extjs+json整合实例
ExtJs + Struts2 + JSON 程序总结
extjs+struts2+hibernate+json登录程序,主要讲解struts2配置JSON与前台extjs通信,异步数据交换,很强大
Struts2+JSON+JQuery实现简单的验证; 需要 JDK1.6+ tomcat5.0+ 支持~~~ 不说废话,上源码!!
涉及了数据(MYSQL)设计,登录实现,以及使用JSON传输数据,Ajax发送请求与处理等,特别适合初学者学习Java WEB的学习材料
一个基于flexigrid+struts2+json+jquery开发的实例,并拓展了一些功能: 1.添加了右键事件(查删改),jqmodal 2.实现了列百分比的显示 3.优化了查询界面
struts+jquery+json+ajax.pdf