`

Struts2学习-ajax返回JSON

阅读更多

    ajax是我们开发过程中常常用到,那么当ajax碰到struts2又会发生什么样的事情呢?通常笔者在使用ajax过程时更多是从服务端返回json格式的数据。下面就说说如何通过struts2来返回json数据。

    首先来看一下我的struts2配置文件中action的配置

<package name="account" extends="struts-default" namespace="/account">
  
    <action name="add" method="addAccount" 
            class="org.lian.account.actions.AccountAction" >
        <result type="stream">
	        <param name="contentType">text/html</param>
	        <param name="inputName">inputStream</param>
    	</result>
    </action>
  
  </package> 

    接下来是Action,Java类设计

public class AccountAction extends ActionSupport {

	private InputStream inputStream;

	public InputStream getInputStream() {
		return inputStream;
	}

	public String addAccount() throws IOException {

		Map<String, String> map = new HashMap<String, String>();
		map.put("flag", "添加成功");
		String result = GsonUtil.getInstance().convertToJson(map);
		inputStream = new ByteArrayInputStream(result.getBytes("UTF-8"));
		return SUCCESS;
	}
}

    Java对象和json字符串相互转换,使用google的gson工具包,使用的版本是2.8.0,下面是我工具类的代码

import com.google.gson.Gson;

public class GsonUtil {

	private static GsonUtil util;

	private GsonUtil() {

	}

	public static GsonUtil getInstance() {

		if (util == null)
			util = new GsonUtil();
		return util;

	}

	/**
	 * 
	 * @description TODO
	 * @param obj
	 * @return
	 * @return String
	 */
	public String convertToJson(Object obj) {
		Gson gson = new Gson();
		return gson.toJson(obj);
	}

	/**
	 * 
	 * @description TODO
	 * @param json
	 * @param type
	 * @return
	 * @return T
	 */
	public <T> T parseJson(String json, Class<T> type) {
		Gson gson = new Gson();
		return gson.fromJson(json, type);
	}

}

     笔者已经将gson工具包上传了,如需要可以自行下载。

 

分享到:
评论

相关推荐

    struts-ajax-json-struts包

    Struts-AJAX-JSON-Struts 包是基于经典的Struts框架,为了实现AJAX(异步JavaScript和XML)和JSON(JavaScript Object Notation)交互功能而设计的一组库和资源集合。这个包通常包含了Struts框架的核心组件,以及...

    json-lib-2.1.jar和struts2-json-plugin-2.1.8.1.jar

    `struts2-json-plugin-2.1.8.1.jar` 则是Struts 2框架的一个插件,主要用于增强Struts 2对JSON的支持。Struts 2是一款非常流行的MVC(Model-View-Controller)框架,用于构建企业级的Java Web应用程序。这个插件允许...

    Struts 2.1-AJAX-JSON实例

    开发者可以通过这个实例学习如何配置Struts 2的Ajax插件,编写Action以返回JSON数据,以及在客户端使用JavaScript处理这些数据,实现实时的页面更新。对于初学者来说,这是一个很好的实践案例,可以帮助他们理解如何...

    struts2-json-plugin-2.3.8.jar

    在实际开发中,为了使用这个插件,你需要将`struts2-json-plugin-2.3.8.jar`文件放入项目的类路径(classpath)下,然后在Struts2的配置文件(通常为struts.xml)中启用JSON插件。在Action类中,定义返回JSON数据的...

    struts-json-plugin-2.1.8.jar struts2-junit-plugin-2.1.8.jar json-lib-2.1.jar

    首先,我们来看`struts-json-plugin-2.1.8.jar`,这是Struts2的JSON插件,它允许Struts2的动作类直接返回JSON格式的数据,方便前端进行Ajax请求处理。该插件在2.1.8版本中修复了若干bug,并提供了对JSON输出的支持。...

    struts2----json----jquery小案例

    为了使Struts2支持JSON响应,我们需要在Struts配置文件(通常为struts.xml)中添加相应的配置。这包括定义一个Action,指定其结果类型为`json`。例如: ```xml &lt;result type="json"&gt; &lt;param name="root"&gt;...

    struts2 相关jar包 包含json-lib-2.1.jar+struts2-json-plugin-2.1.8.1.jar

    这个压缩包包含了两个关键的组件:json-lib-2.1.jar和struts2-json-plugin-2.1.8.1.jar,它们是Struts2支持JSON(JavaScript Object Notation)序列化和反序列化的关键。 1. **json-lib-2.1.jar**: JSON是一种轻...

    使用Struts2的JSON插件来实现JSON数据传递

    首先,你需要将struts2-json-plugin相关的JAR文件添加到项目的类路径中。然后,在Struts2的配置文件struts.xml中启用JSON插件,通常通过以下配置实现: ```xml &lt;constant name="struts.enable.SlashesInActionNames...

    Struts2 与Jquery Ajax的json数据交换的典型范例

    总结,Struts2和jQuery的Ajax JSON数据交换涉及以下几个关键步骤:配置Struts2的JSON插件,编写返回JSON数据的Action,使用jQuery发起Ajax请求并处理返回的JSON数据。通过这种方式,可以实现客户端与服务器之间的...

    struts2--ajax.docx

    1. `extends="json-default"`表示依赖于Struts2的JSON插件,需要将其JAR包添加到项目的类路径。 2. `result`的`type`设为`json`,意味着Action执行完毕后,将以JSON格式返回数据。 在Action类中,可以直接返回一个...

    Struts2 ajax json使用介绍

    2. Struts2的JSON插件:`struts2-json-plugin.jar` 3. JSON处理库:`json-lib.jar`(通常在Struts2的JSON插件中已经包含) 确保这些库被添加到项目的类路径中,以便Struts2能够解析并返回JSON数据。 **二、编写...

    struts2-json-plugin-2.2.3.jar

    ajax结合Struts2要用到的jar包

    struts2-json-plugin-2.1.8jar包.zip

    使用Struts2 JSON Plugin,开发者可以设置Action的返回类型为"json",这样在Action执行完毕后,Struts2会自动将Action的模型驱动数据转化为JSON格式并发送到客户端。这大大简化了服务器端与客户端之间通过HTTP传递...

    struts-2.5.20-all(含struts2-json-plugin.jar)jar资源

    在本资源包"struts-2.5.20-all"中,包含了Struts 2框架的完整版本,以及`struts2-json-plugin.jar`插件,专门用于处理JSON(JavaScript Object Notation)数据。 **Struts 2框架核心概念:** 1. **Action类**:...

    struts2-json-plugin-2.1.8.1.jar

    标题"struts2-json-plugin-2.1.8.1.jar"表明这是Struts2 JSON插件的一个特定版本,2.1.8.1。在软件开发中,版本号的更新通常意味着修复了已知的错误,增加了新的特性,或者提高了性能。 "JsonPlugin.tld"是Tag ...

    ZTree+Struts2+ajax+json实现checkbox权限树

    【标题】"ZTree+Struts2+ajax+json实现checkbox权限树"涉及的技术栈主要集中在前端的ZTree,后端的Struts2框架,以及数据交互中的Ajax和JSON。这个项目的核心目标是构建一个可复选的权限树形结构,用户通过勾选节点...

    Struts2+ajax+json返回list.docx

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

    (struts2-json-plugin-2.2.1)struts2 json-default配置中需要的jar包

    `struts2-json-plugin`是Struts2的一个插件,专门用于处理JSON相关的功能。 在使用Struts2的JSON插件时,为了确保一切正常运行,我们需要在项目中包含一些必要的JAR包。`struts2-json-plugin-2.2.1`这个版本的插件...

    AJAX和struts2传递JSON数组

    这告诉Struts2框架当收到名为`struts2Action`的请求时,使用`Struts2Action`类,并返回JSON格式的结果。如果需要在Action执行后返回一个页面,可以将`result`元素的类型改为`dispatcher`。 总结来说,通过这种方式...

Global site tag (gtag.js) - Google Analytics