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/
分享到:
相关推荐
在"Struts+Jquery+Ajax+Json应用实例"中,前端使用jQuery库来监听用户事件,比如点击按钮。当事件触发时,jQuery通过Ajax发送一个HTTP请求到后端的Struts Action。在Struts框架中,这个Action会处理请求,执行必要的...
### Struts2+Json+ExtJS分页技术详解 #### 一、技术背景与概述 在Web开发领域,实现高效的数据展示与交互是至关重要的。本文档将介绍如何使用Struts2框架结合JSON数据格式以及ExtJS前端库来实现动态分页功能。此...
本实例展示了如何在Struts2框架下,通过Ajax发送请求获取JSON数据,并将数据返回到JSP页面,以填充下拉列表(`<s:select/>`标签)。 1. **Struts2配置**: 在`struts.xml`配置文件中,我们需要定义一个Action,...
通过添加`<constant>`标签设置`struts.json.enable=true`,开启Struts2的JSON插件。然后,定义一个或者多个Action,将它们配置为返回JSON类型的结果。例如: ```xml <package name="json" namespace="/" extends=...
在这个"struts2+rest简单实例"中,我们可以看到如何将这两种技术结合在一起,以创建一个更现代化、更灵活的应用程序。以下是一些关于Struts2和REST的关键知识点: 1. **Struts2核心概念**: - **Action类**:这是...
总结来说,这个“struts2_json例子工程”是一个完整的示例,展示了如何在Struts2中通过集成`struts2-json-plugin`插件,设置配置文件,编写Action类,以及处理JSON响应,帮助开发者理解并掌握Struts2对JSON的支持。...
本实例将详细介绍如何在Struts2项目中配置并使用JSON插件,以及如何创建一个简单的JSON响应。 首先,我们需要在Struts2项目的`struts.xml`配置文件中启用JSON插件。这通常涉及到以下几个步骤: 1. 引入插件依赖:...
这篇博客将深入讲解Struts2的JSON插件配置,并通过实例“strutsJson”来演示具体用法。 首先,让我们了解JSON插件的基本配置。在Struts2框架中,我们需要在`struts.xml`配置文件中引入JSON插件的相关配置。这通常...
Struts可以通过实现JSON插件或者使用第三方库如Jackson来支持JSON序列化和反序列化。前端的Ajax请求接收到服务器返回的JSON数据后,更新Store,从而刷新Grid显示最新的图书信息。 总的来说,ExtJS+Struts的整合实例...
在本场景中,我们将探讨如何在Struts2中返回JSON数据,并在页面上使用jQuery库的`$.ajax`或`$.getJSON`方法来接收和处理这些数据。 首先,我们需要在Struts2中配置JSON结果类型。在`struts.xml`配置文件中,添加一...
在"struts2返回json格式的数据练习"这个实例中,我们将学习如何配置Struts2框架以支持JSON输出,并创建一个简单的示例来展示这一过程。 首先,我们需要在Struts2项目的`pom.xml`文件中添加JSON插件依赖。Struts2的...
2. **JSON结果类型**:在struts.xml中配置JSON结果类型,使Action可以返回JSON格式的数据,供Ajax请求接收。 3. **JQuery/Ajax库**:使用JQuery库发送Ajax请求,例如`$.ajax()`或`$.getJSON()`方法,与Struts2的...
在本实例中,我们将探讨如何利用Struts2、jQuery、Ajax和JSON技术实现一个用户登录功能。 首先,我们需要理解Ajax的核心概念,即在不刷新整个页面的情况下,向服务器发送异步请求并获取数据。这极大地提升了用户...
本实例主要关注"ext+struts2"的集成,这是一种常见的Java Web开发组合,其中ext是一个强大的JavaScript库,用于构建富客户端应用,而Struts2是基于MVC设计模式的Java Web框架,负责后端业务逻辑处理和页面展示的组织...
这里的`gridAction`对应着一个名为`GridAction`的Java类,当用户请求此URL时,Struts2会实例化并执行这个Action。结果类型配置为`json`,表明Action处理完成后将以JSON格式返回数据,其中`data`是返回数据的根节点,...
在描述中提到的"直接部署,即可运行",意味着这个压缩包可能包含了一个已经配置好的Struts2应用实例,包含了Action类、配置文件(如struts.xml)、以及处理Ajax请求的JSP页面。部署这个应用后,用户可以直接体验到...
在"Struts2Json登录实例"中,我们将探讨如何结合这三个技术实现一个简单的登录功能。 首先,Struts2的Action是业务逻辑的核心,它处理用户的请求并返回响应。在这个登录实例中,我们需要创建一个名为`LoginAction`...
在Web开发中,jQuery、Ajax、Struts2和JSON是常用的技术栈,它们结合使用能够构建动态、交互式的网页应用。下面将详细讲解这些技术及其在"JQuery发起ajax请求Struts2,并操作JSON数据的例子"中的应用。 **jQuery** ...
8. **插件(Plugins)**:Struts2提供丰富的插件支持,如JSON支持、Spring集成、Tiles布局等,扩展性强。 压缩包中的实例可能包括以下内容: - **HelloWorld**:基础的“你好,世界”例子,展示Action和简单的JSP...
在本实例中,我们将通过Maven来搭建一个完整的Struts2项目,探讨如何利用Maven管理和构建Struts2应用,并了解Struts2处理JSON数据的两种主要方法。 首先,Maven是Apache软件基金会开发的一款项目管理和集成工具,它...