`
peonyzzdx
  • 浏览: 590876 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

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

    博客分类:
  • J2EE
 
阅读更多
为了方便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
分享到:
评论

相关推荐

    struts2的json插件配置详解(附demo)

    为了方便ajax调用传输数据,在struts2中加入的json插件用来做对象的序列化和反序列化,json插件的下载地址 http://code.google.com/p/jsonplugin/ 1. 下载json插件包,将jar包拷贝到WEB-INF/lib目录 注:struts2...

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

    然后,在Struts2的配置文件struts.xml中启用JSON插件,通常通过以下配置实现: ```xml &lt;constant name="struts.enable.SlashesInActionNames" value="true"/&gt; &lt;constant name="struts.action.extension" value=...

    struts2的json插件

    1. **自动转换Action结果到JSON**:当你配置了JSON插件后,Struts2可以将Action的结果对象自动转换为JSON格式,然后返回给客户端,无需额外的代码处理。 2. **支持数据过滤**:你可以指定哪些字段应该被包含在JSON...

    struts2+json

    在Struts2中集成JSON支持,首先需要添加相应的依赖,比如struts2-json-plugin,这个插件提供了JSON结果类型。当Action执行完毕后,可以返回一个JSON结果类型,Struts2会自动将Action的属性转换为JSON格式并返回给...

    struts 2.0 与 2.1 需要的json插件

    - JSON插件通常作为一个独立的JAR文件提供,比如`struts2-json-plugin-x.x.x.jar`,你需要将其添加到项目的类路径中。 - 如果你使用的是Maven,可以在pom.xml文件中添加依赖。例如,对于Struts 2.0和2.1版本,你...

    Struts2 json插件入门指南.pdf

    ### Struts2 JSON插件入门知识点详解 #### 1. 依赖包 - **Struts2 必需的 6 个 jar 包** - `commons-fileupload-1.2.2.jar`: 提供了文件上传功能的支持。 - `commons-io-2.0.1.jar`: 用于处理I/O操作,简化输入...

    struts2 json

    1. **Struts2 JSON插件**:为了支持JSON,你需要在Struts2项目中添加JSON插件。这个插件提供了一组拦截器和结果类型,使得Action可以直接返回JSON响应。 2. **xwork-core-2.1.6.jar**:这是Struts2的核心库,包含了...

    Struts2 Json示例(Maven项目)

    在这个"Struts2 Json示例(Maven项目)"中,我们将会深入探讨如何在Struts2框架下实现JSON(JavaScript Object Notation)数据交换,以及如何结合Maven进行项目构建。 JSON是一种轻量级的数据交换格式,易于人阅读...

    struts2-json-plugin

    struts2-json-plugin,Struts JSON插件

    struts2与json整合

    要实现Struts2与JSON的整合,首先需要在项目中引入Struts2 JSON插件。根据给定的部分内容,可以看到使用的是`struts2-json-plugin-2.1.8.1.jar`这个JAR包。该插件包含处理JSON相关的类库,使得Struts2能够识别并处理...

    struts2-json-plugin源码

    `struts2-json-plugin`是Struts2的一个插件,它使得Struts2能够处理JSON请求和响应,无需额外的配置或库。这个插件不仅包含了源码,还包含了必要的配置文件和类,使得开发者可以深入理解其工作原理并进行自定义扩展...

    Struts2+Json+Android简单实现

    在本示例中,“StrutsJson”可能是服务端的一个模块,它利用Struts2的JSON结果类型来发送和接收JSON格式的数据。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于...

    struts2乱码与json插件(1)

    在这个主题中,“struts2乱码与json插件”主要关注两个方面:字符编码问题和JSON数据交互。 **字符编码问题** 在开发web应用时,乱码问题经常出现,尤其是在处理用户输入或显示非ASCII字符时。Struts2框架默认使用...

    Struts2.5操作JSON相关jar包

    配置Struts2的JSON插件,需要在`struts.xml`配置文件中添加以下内容: ```xml &lt;constant name="struts.enable.SMD" value="true" /&gt; &lt;constant name="struts.action.extension" value="json" /&gt; ...

    json示例下载 +struts2

    2. **配置Struts2 JSON插件**:在struts.xml配置文件中,你需要启用JSON插件,并配置默认的JSON结果类型。例如: ```xml &lt;constant name="struts.enable.SMD" value="true"/&gt; &lt;constant name="struts.action....

    TestStruts2JSON程序源码

    "TestStruts2JSON"程序源码很显然是一个用于测试Struts2框架如何处理和返回JSON数据的示例。 在Struts2中,JSON支持是通过Struts2的插件系统实现的,主要涉及到以下几个关键知识点: 1. **Struts2 JSON插件**:...

    struts2 json ajax示例 google提示

    在这个"struts2 json ajax示例 google提示"中,我们将探讨如何在Struts2框架中利用JSON和AJAX技术实现Google搜索建议那样的动态数据加载功能。 首先,我们需要在Struts2项目中集成JSON插件。Struts2 JSON插件提供了...

    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应用程序。这个插件允许...

    struts2所需的包和Struts2_json所需包

    2. **Struts2 JSON插件**:Struts2提供了一个JSON插件(`struts2-json-plugin.jar`),它允许我们将Action的返回值直接转换为JSON格式,便于前后端数据交换。这个插件简化了原本需要手动序列化对象到JSON字符串的...

Global site tag (gtag.js) - Google Analytics