为了方便ajax调用传输数据,在struts2中加入的json插件用来做对象的序列化和反序列化,json插件的下载地址
http://code.google.com/p/jsonplugin/
1. 下载json插件包,将jar包拷贝到WEB-INF/lib目录
注:struts2的json插件有两个版本0.32和0.34,我用的struts2的版本是2.0.11,在加入0.34版本json插件时启动发生异常,提示找不到相关方法,后来就换成了低版本的0.32一切OK,仔细查看文档后发现struts2的2.0.*版本的对应插件的0.32版本,struts2.1.*版本对应0.34版本
2.将struts.xml里面的
<package name="default" extends="struts-default">
改为
<package name="default" extends="json-default">
3.Action中的配置
<action name="testAction" class="com.json.action.TestAction" method="testMethod">
<interceptor-ref name="json" /><!--处理以JSON文本提交的请求-->
<result type="json" /> <!--将action的bean属性以json字符串返回浏览器-->
</action>
注:根据需要选择interceptor和result配置
4. 你会发现前台返回的json字符串,是把action中的所有属性全部转化为json字符串返回给浏览器了,但是我有时候需要根据实际情况返回部分结果,如何对json的结果进行定制输出呢?result提供了一些参数替你解决这个问题
4.1. root参数:从返回结果中根据ognl表达式取出你需要输出的结果
如:
action类
public class BaseAction extends ActionSupport implements {
private Person person = null;
}
bean类
public class Person {
private String name;
private int age;
}
我们只要输出person对象的name属性值,配置如下
<result type="json">
<param name="root">person.name</param>
</result>
4.2. excludeNullProperties 参数:表示是否去掉空值, 默认值是false,如果设置为true会自动将为空的值过滤,只输出不为空的值。
<result type="json">
<param name="excludeNullProperties">true</param>
</result>
4.3. ignoreHierarchy 参数:表示是否忽略等级,也就是继承关系,比如:TestAction继承于BaseAction,那么TestAction中返回的json字符串默认是不会包含父类BaseAction的属性值,ignoreHierarchy值默认为true,设置为false后会将父类和子类的属性一起返回。
<result type="json">
<param name="ignoreHierarchy">false</param>
</result>
4.4. includeProperties 参数:输出结果中需要包含的属性值,这里正则表达式和属性名匹配,可以用“,”分割填充多个正则表达式。
如:输出person的所有属性
<result type="json">
<param name="includeProperties">person.*, person\.name</param>
</result>
5.5. excludeProperties 参数:输出结果需要剔除的属性值,也支持正则表达式匹配属性名,可以用“,”分割填充多个正则表达式,类同4.4.
相关推荐
本压缩包提供了在Struts2中使用JSON所需的全部jar包,特别适用于支持struts2.18及更高版本的应用,确保了良好的向下兼容性。 首先,我们需要了解JSON(JavaScript Object Notation)的基本概念。JSON是一种数据交换...
在Struts2中集成JSON支持,首先需要添加相应的依赖,比如struts2-json-plugin,这个插件提供了JSON结果类型。当Action执行完毕后,可以返回一个JSON结果类型,Struts2会自动将Action的属性转换为JSON格式并返回给...
在Struts2中配置JSON是为了让应用程序能够处理和返回JSON格式的数据,这在现代Web应用中非常常见,因为JSON是轻量级且易于解析的数据交换格式。在本文中,我们将深入探讨如何在Struts2中配置JSON支持以及其相关知识...
在Struts2中使用JSON,有两个关键的JAR包是必不可少的,这些正是`struts2-json-plugin-2.2.1.jar`和`json-lib-2.3-jdk15.jar`。 首先,`struts2-json-plugin-2.2.1.jar`是Struts2 JSON插件的实现库。这个插件为...
总结,Struts2中返回JSON数据有两种主要方式:一是通过`response.getWriter().print()`手动输出JSON字符串;二是利用Struts2的内置JSON插件,通过返回特定的属性和结果类型自动处理JSON。每种方法都有其适用场景,...
在Struts2中使用JSON(JavaScript Object Notation)可以方便地将服务器端的数据传输到客户端,通常用于AJAX请求或者创建RESTful API。JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成...
在Struts2中,Action类中的方法负责处理来自客户端的请求。为了返回JSON数据,可以定义一个如下的Action方法: ```java public String getXxx() { return "aaa"; } ``` 当客户端调用此方法时,Struts2会自动将...
在Struts2中使用JSON,开发者可以将服务器端处理的结果以JSON格式返回给客户端,从而实现动态页面的更新。 为了在Struts2项目中使用JSON功能,我们需要引入一些特定的jar包。这些jar包提供了Struts2对JSON的支持...
在Struts2中,通过整合JSON插件,可以方便地将Action的返回结果转换为JSON格式,供前端JavaScript处理。 `struts2-json-plugin`是Struts2的一个插件,它使得Struts2能够处理JSON请求和响应,无需额外的配置或库。这...
在Struts2中,JSON(JavaScript Object Notation)插件是实现前后端数据交互的重要工具,尤其在当今Web开发中,JSON由于其轻量级、易读性强的特点,被广泛用于API接口的数据传输。这篇博客将深入讲解Struts2的JSON...
在Struts2框架中整合Ajax以实现异步数据交互,JSON(JavaScript Object Notation)扮演了关键角色。JSON是一种轻量级的数据交换格式,它允许Web应用与服务器之间高效地传输数据,而无需进行繁琐的HTTP请求。在这个...
在Struts2中使用JSON,首先需要在配置文件(struts.xml)中启用JSON插件,并指定哪些Action支持JSON输出。然后,在Action类中,你可以创建一个返回类型为`Map, Object>`或自定义对象的方法,这个方法将被转换成JSON...
在Struts2中,返回JSON(JavaScript Object Notation)数据类型是一种常见的需求,尤其是在开发AJAX或者前后端分离的应用时。JSON是一种轻量级的数据交换格式,它允许服务器向客户端发送结构化的数据,而无需解析...
1. **配置JSON插件**:在Struts2中使用JSON,首先需要引入Struts2的JSON插件。这通常通过在`struts.xml`配置文件中添加相关的拦截器配置来完成。 2. **返回JSON结果**:在Action类中,定义一个返回JSON的结果类型。...
这个插件允许开发者在Struts 2中轻松地创建能够返回JSON的Action,使得前端(通常使用JavaScript库如jQuery)可以获取到JSON数据并进行进一步处理。 现在我们来详细讨论这两个库在实际应用中的作用: 1. **json-...
然后,在Struts2的配置文件struts.xml中启用JSON插件,通常通过以下配置实现: ```xml <constant name="struts.enable.SlashesInActionNames" value="true"/> <constant name="struts.action.extension" value=...
在Struts2中,JSON(JavaScript Object Notation)包是一个关键组件,它提供了与JSON数据格式交互的能力,使得Web应用能够更高效地进行客户端和服务器端的数据交换。JSON是一种轻量级的数据交换格式,它易于人阅读和...
在Struts2的配置文件(struts.xml或struts.properties)中,需要为Action添加一个`@ResultType`注解或结果类型配置,指定为`json`。这样,当Action执行完成后,会返回JSON格式的数据。 3. **JSON Value Stack**: ...
本知识点将详细介绍如何在Struts2项目中集成和使用JSON包。 1. **JSON简介**: JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript语法,但不是JavaScript的一个子集...