为了方便ajax调用传输数据,在struts2中加入的json插件用来做对象的序列化和反序列化,json插件的下载地址
http://code.google.com/p/jsonplugin/
1. 下载json(jsonplugin-0[1].34.jar)插件包,将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.json插件执行原理时序图
3.将struts.xml里面的
1<package name="default" extends="struts-default">
改为
1<package name="default" extends="json-default">
4.Action中的配置
1<action name="testAction" class="com.json.action.TestAction" method="testMethod">
2 <interceptor-ref name="json" /><!--处理以JSON文本提交的请求-->
3 <result type="json" /> <!--将action的bean属性以json字符串返回浏览器-->
4</action>
注:根据需要选择interceptor和result配置
5. 你会发现前台返回的json字符串,是把action中的所有属性全部转化为json字符串返回给浏览器了,但是我有时候需要根据实际情况返回部分结果,如何对json的结果进行定制输出呢?result提供了一些参数替你解决这个问题
5.1. root参数:从返回结果中根据ognl表达式取出你需要输出的结果
如:
action类
public class BaseAction extends ActionSupport implements {
private Person person = null;
}
bean类
1public class Person {
2 private String name;
3 private int age;
4
5}
我们只要输出person对象的name属性值,配置如下
1<result type="json">
2<param name="root">person.name</param>
3</result>
5.2. excludeNullProperties 参数:表示是否去掉空值, 默认值是false,如果设置为true会自动将为空的值过滤,只输出不为空的值。
1<result type="json">
2 <param name="excludeNullProperties">true</param>
3</result>
5.3. ignoreHierarchy 参数:表示是否忽略等级,也就是继承关系,比如:TestAction继承于BaseAction,那么TestAction中返回的json字符串默认是不会包含父类BaseAction的属性值,ignoreHierarchy值默认为true,设置为false后会将父类和子类的属性一起返回。
1<result type="json">
2 <param name="ignoreHierarchy">false</param>
3</result>
5.4. includeProperties 参数:输出结果中需要包含的属性值,这里正则表达式和属性名匹配,可以用“,”分割填充多个正则表达式。
如:输出person的所有属性
1<result type="json">
2 <param name="includeProperties">person.*, person\.name</param>
3</result>
5.5. excludeProperties 参数:输出结果需要剔除的属性值,也支持正则表达式匹配属性名,可以用“,”分割填充多个正则表达式,类同4.4.
- 大小: 51.5 KB
分享到:
相关推荐
为了方便ajax调用传输数据,在struts2中加入的json插件用来做对象的序列化和反序列化,json插件的下载地址 http://code.google.com/p/jsonplugin/ 1. 下载json插件包,将jar包拷贝到WEB-INF/lib目录 注:struts2...
然后,在Struts2的配置文件struts.xml中启用JSON插件,通常通过以下配置实现: ```xml <constant name="struts.enable.SlashesInActionNames" value="true"/> <constant name="struts.action.extension" value=...
1. **自动转换Action结果到JSON**:当你配置了JSON插件后,Struts2可以将Action的结果对象自动转换为JSON格式,然后返回给客户端,无需额外的代码处理。 2. **支持数据过滤**:你可以指定哪些字段应该被包含在JSON...
在Struts2中集成JSON支持,首先需要添加相应的依赖,比如struts2-json-plugin,这个插件提供了JSON结果类型。当Action执行完毕后,可以返回一个JSON结果类型,Struts2会自动将Action的属性转换为JSON格式并返回给...
- JSON插件通常作为一个独立的JAR文件提供,比如`struts2-json-plugin-x.x.x.jar`,你需要将其添加到项目的类路径中。 - 如果你使用的是Maven,可以在pom.xml文件中添加依赖。例如,对于Struts 2.0和2.1版本,你...
### Struts2 JSON插件入门知识点详解 #### 1. 依赖包 - **Struts2 必需的 6 个 jar 包** - `commons-fileupload-1.2.2.jar`: 提供了文件上传功能的支持。 - `commons-io-2.0.1.jar`: 用于处理I/O操作,简化输入...
1. **Struts2 JSON插件**:为了支持JSON,你需要在Struts2项目中添加JSON插件。这个插件提供了一组拦截器和结果类型,使得Action可以直接返回JSON响应。 2. **xwork-core-2.1.6.jar**:这是Struts2的核心库,包含了...
在这个"Struts2 Json示例(Maven项目)"中,我们将会深入探讨如何在Struts2框架下实现JSON(JavaScript Object Notation)数据交换,以及如何结合Maven进行项目构建。 JSON是一种轻量级的数据交换格式,易于人阅读...
struts2-json-plugin,Struts JSON插件
要实现Struts2与JSON的整合,首先需要在项目中引入Struts2 JSON插件。根据给定的部分内容,可以看到使用的是`struts2-json-plugin-2.1.8.1.jar`这个JAR包。该插件包含处理JSON相关的类库,使得Struts2能够识别并处理...
`struts2-json-plugin`是Struts2的一个插件,它使得Struts2能够处理JSON请求和响应,无需额外的配置或库。这个插件不仅包含了源码,还包含了必要的配置文件和类,使得开发者可以深入理解其工作原理并进行自定义扩展...
在本示例中,“StrutsJson”可能是服务端的一个模块,它利用Struts2的JSON结果类型来发送和接收JSON格式的数据。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于...
在这个主题中,“struts2乱码与json插件”主要关注两个方面:字符编码问题和JSON数据交互。 **字符编码问题** 在开发web应用时,乱码问题经常出现,尤其是在处理用户输入或显示非ASCII字符时。Struts2框架默认使用...
配置Struts2的JSON插件,需要在`struts.xml`配置文件中添加以下内容: ```xml <constant name="struts.enable.SMD" value="true" /> <constant name="struts.action.extension" value="json" /> ...
2. **配置Struts2 JSON插件**:在struts.xml配置文件中,你需要启用JSON插件,并配置默认的JSON结果类型。例如: ```xml <constant name="struts.enable.SMD" value="true"/> <constant name="struts.action....
"TestStruts2JSON"程序源码很显然是一个用于测试Struts2框架如何处理和返回JSON数据的示例。 在Struts2中,JSON支持是通过Struts2的插件系统实现的,主要涉及到以下几个关键知识点: 1. **Struts2 JSON插件**:...
在这个"struts2 json ajax示例 google提示"中,我们将探讨如何在Struts2框架中利用JSON和AJAX技术实现Google搜索建议那样的动态数据加载功能。 首先,我们需要在Struts2项目中集成JSON插件。Struts2 JSON插件提供了...
`struts2-json-plugin-2.1.8.1.jar` 则是Struts 2框架的一个插件,主要用于增强Struts 2对JSON的支持。Struts 2是一款非常流行的MVC(Model-View-Controller)框架,用于构建企业级的Java Web应用程序。这个插件允许...
2. **Struts2 JSON插件**:Struts2提供了一个JSON插件(`struts2-json-plugin.jar`),它允许我们将Action的返回值直接转换为JSON格式,便于前后端数据交换。这个插件简化了原本需要手动序列化对象到JSON字符串的...