`

Struts+Json实例 Example

阅读更多
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应用实例

    在"Struts+Jquery+Ajax+Json应用实例"中,前端使用jQuery库来监听用户事件,比如点击按钮。当事件触发时,jQuery通过Ajax发送一个HTTP请求到后端的Struts Action。在Struts框架中,这个Action会处理请求,执行必要的...

    Struts2+Json+ExtJS分页

    ### Struts2+Json+ExtJS分页技术详解 #### 一、技术背景与概述 在Web开发领域,实现高效的数据展示与交互是至关重要的。本文档将介绍如何使用Struts2框架结合JSON数据格式以及ExtJS前端库来实现动态分页功能。此...

    Struts2+ajax+json返回list.docx

    本实例展示了如何在Struts2框架下,通过Ajax发送请求获取JSON数据,并将数据返回到JSP页面,以填充下拉列表(`&lt;s:select/&gt;`标签)。 1. **Struts2配置**: 在`struts.xml`配置文件中,我们需要定义一个Action,...

    Struts2Json+ajax的实现 精简源码

    通过添加`&lt;constant&gt;`标签设置`struts.json.enable=true`,开启Struts2的JSON插件。然后,定义一个或者多个Action,将它们配置为返回JSON类型的结果。例如: ```xml &lt;package name="json" namespace="/" extends=...

    struts2+rest简单实例

    在这个"struts2+rest简单实例"中,我们可以看到如何将这两种技术结合在一起,以创建一个更现代化、更灵活的应用程序。以下是一些关于Struts2和REST的关键知识点: 1. **Struts2核心概念**: - **Action类**:这是...

    struts2_json例子工程

    总结来说,这个“struts2_json例子工程”是一个完整的示例,展示了如何在Struts2中通过集成`struts2-json-plugin`插件,设置配置文件,编写Action类,以及处理JSON响应,帮助开发者理解并掌握Struts2对JSON的支持。...

    struts2的json插件实例

    本实例将详细介绍如何在Struts2项目中配置并使用JSON插件,以及如何创建一个简单的JSON响应。 首先,我们需要在Struts2项目的`struts.xml`配置文件中启用JSON插件。这通常涉及到以下几个步骤: 1. 引入插件依赖:...

    struts2的json插件配置详解(附示例strutsJson)

    这篇博客将深入讲解Struts2的JSON插件配置,并通过实例“strutsJson”来演示具体用法。 首先,让我们了解JSON插件的基本配置。在Struts2框架中,我们需要在`struts.xml`配置文件中引入JSON插件的相关配置。这通常...

    Extjs+Struts整合入门实例

    Struts可以通过实现JSON插件或者使用第三方库如Jackson来支持JSON序列化和反序列化。前端的Ajax请求接收到服务器返回的JSON数据后,更新Store,从而刷新Grid显示最新的图书信息。 总的来说,ExtJS+Struts的整合实例...

    struts2返回json数据用query在页面接收

    在本场景中,我们将探讨如何在Struts2中返回JSON数据,并在页面上使用jQuery库的`$.ajax`或`$.getJSON`方法来接收和处理这些数据。 首先,我们需要在Struts2中配置JSON结果类型。在`struts.xml`配置文件中,添加一...

    struts2返回json格式的数据练习

    在"struts2返回json格式的数据练习"这个实例中,我们将学习如何配置Struts2框架以支持JSON输出,并创建一个简单的示例来展示这一过程。 首先,我们需要在Struts2项目的`pom.xml`文件中添加JSON插件依赖。Struts2的...

    struts2 ajax 实例

    2. **JSON结果类型**:在struts.xml中配置JSON结果类型,使Action可以返回JSON格式的数据,供Ajax请求接收。 3. **JQuery/Ajax库**:使用JQuery库发送Ajax请求,例如`$.ajax()`或`$.getJSON()`方法,与Struts2的...

    struts2使用jquery整合ajax、json用户登录实例源码

    在本实例中,我们将探讨如何利用Struts2、jQuery、Ajax和JSON技术实现一个用户登录功能。 首先,我们需要理解Ajax的核心概念,即在不刷新整个页面的情况下,向服务器发送异步请求并获取数据。这极大地提升了用户...

    ext+struts2的集成实例

    本实例主要关注"ext+struts2"的集成,这是一种常见的Java Web开发组合,其中ext是一个强大的JavaScript库,用于构建富客户端应用,而Struts2是基于MVC设计模式的Java Web框架,负责后端业务逻辑处理和页面展示的组织...

    struts2+ext例子

    这里的`gridAction`对应着一个名为`GridAction`的Java类,当用户请求此URL时,Struts2会实例化并执行这个Action。结果类型配置为`json`,表明Action处理完成后将以JSON格式返回数据,其中`data`是返回数据的根节点,...

    struts2_ajax_json

    在描述中提到的"直接部署,即可运行",意味着这个压缩包可能包含了一个已经配置好的Struts2应用实例,包含了Action类、配置文件(如struts.xml)、以及处理Ajax请求的JSP页面。部署这个应用后,用户可以直接体验到...

    strut2Json登录实例

    在"Struts2Json登录实例"中,我们将探讨如何结合这三个技术实现一个简单的登录功能。 首先,Struts2的Action是业务逻辑的核心,它处理用户的请求并返回响应。在这个登录实例中,我们需要创建一个名为`LoginAction`...

    JQuery发起ajax请求Struts2,并操作JSON数据的例子

    在Web开发中,jQuery、Ajax、Struts2和JSON是常用的技术栈,它们结合使用能够构建动态、交互式的网页应用。下面将详细讲解这些技术及其在"JQuery发起ajax请求Struts2,并操作JSON数据的例子"中的应用。 **jQuery** ...

    struts2经典实例.rar

    8. **插件(Plugins)**:Struts2提供丰富的插件支持,如JSON支持、Spring集成、Tiles布局等,扩展性强。 压缩包中的实例可能包括以下内容: - **HelloWorld**:基础的“你好,世界”例子,展示Action和简单的JSP...

    Struts2 maven 完整实例

    在本实例中,我们将通过Maven来搭建一个完整的Struts2项目,探讨如何利用Maven管理和构建Struts2应用,并了解Struts2处理JSON数据的两种主要方法。 首先,Maven是Apache软件基金会开发的一款项目管理和集成工具,它...

Global site tag (gtag.js) - Google Analytics