关于struts返回对象json格式数据的方法

 更新时间:2013年04月07日 16:17:54   作者:  
以下为大家介绍,关于struts返回对象json格式数据的方法,希望对有需要的朋友有所帮助。

想在struts中返回一个对象的json数据,通过定义

复制代码 代码如下:

<action name="getUserByName" class="com.action.UserManagerAction" method="getUserByName">
<result name="success" type="json">
userInfo
</result>
</action>

结果返回的是整个action类的所有成员变量的json数据。要想返回userInfo对象的数据,需要将返回参数定义为root对象

复制代码 代码如下:

<action name="getUserByName" class="com.action.UserManagerAction" method="getUserByName">
<result name="success" type="json">
<param name="root">
userInfo
</param>
</result>
</action>

下面是返回各种json数据的定义

复制代码 代码如下:

<!-- 封装所有的get开头的方法 -->
<result type="json" name="user">
</result>

<!-- 只包含user.id属性 -->
<result type="json" name="user">
<param name="includeProperties">
user\.id
</param>
</result>

<!-- 返回user的JSON List列表,其中userInfosList是action中的一个List类型的属性,userInfosList \[\d+\]\. userName表示,userInfosList中存储的对象0..end的userName属性(list中存储的对象必须有userName属性)
-->
<result name="success" type="json">
<param name="includeProperties">
userInfosList\[\d+\]\.userName,userInfosList\[\d+\]\.password
</param>
</result>

<!-- 不包含user属性 -->
<result type="json" name="list">
<param name="excludeProperties">
user
</param>
</result>

<!-- 根对象只包含user -->
<result type="json">
<param name="root">
user
</param>
</result>

<!-- "root"对象中父类的field(属性)不会(会?) 默认存放到 JSON数据中,如果不想这样做,需要在配置时指定 ignoreHierarchy 为 false: -->
<result type="json">
<param name="ignoreHierarchy">false</param>
</result>

相关文章

  • 通过Java测试几种压缩算法的性能(附测试代码下载)

    通过Java测试几种压缩算法的性能(附测试代码下载)

    这篇文章主要介绍了通过Java测试几种压缩算法的实际性能的一个实验,包括Java自带的deflate与GZIP压缩方式,还是有一定借鉴意义的,需要的朋友可以参考下
    2015-12-12
  • Java中获取子字符串的几种方法示例

    Java中获取子字符串的几种方法示例

    这篇文章主要主要给大家总结了Java中获取子字符串的几种方法,分别是采用split的方式、采用indexOf的方式、正则和采用replaceFirst的方式这四种方法,需要的朋友可以参考借鉴,下面来看看详细的介绍吧
    2017-01-01
  • Java中比较运算符compareTo()、equals()与==的区别及应用总结

    Java中比较运算符compareTo()、equals()与==的区别及应用总结

    这篇文章主要给大家介绍了关于Java中比较运算符compareTo()、equals()与==的区别及应用的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
    2018-09-09
  • Java中接口的多态详解

    Java中接口的多态详解

    大家好,本篇文章主要讲的是Java中接口的多态详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • SpringBoot项目启动后立马自动关闭的解决方案

    SpringBoot项目启动后立马自动关闭的解决方案

    这篇文章主要介绍了SpringBoot项目启动后立马自动关闭的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • SpringBoot使用前缀树过滤敏感词的方法实例

    SpringBoot使用前缀树过滤敏感词的方法实例

    Trie也叫做字典树、前缀树(Prefix Tree)、单词查找树,特点:查找效率高,消耗内存大,这篇文章主要给大家介绍了关于SpringBoot使用前缀树过滤敏感词的相关资料,需要的朋友可以参考下
    2022-01-01
  • SpringBoot中操作Redis及工具类的封装详解

    SpringBoot中操作Redis及工具类的封装详解

    在我们项目开发中总是免不了会使用缓存,Redis现在基本是我们公司中非常常见的缓存方案,包括在用户token的缓存,热点信息的缓存等,这篇文章主要讲讲在SpringBoot项目中如何去操作Redis,及最后工具类的封装
    2023-05-05
  • java之阻塞队列BlockingQueue解析

    java之阻塞队列BlockingQueue解析

    这篇文章主要介绍了java之阻塞队列BlockingQueue解析,阻塞队列是一种线程安全的数据结构,用于在多线程环境下进行数据交换,它提供了一种阻塞的机制,当队列为空时,消费者线程将被阻塞,直到队列中有数据可供消费,需要的朋友可以参考下
    2023-10-10
  • java 读取网页内容的实例详解

    java 读取网页内容的实例详解

    这篇文章主要介绍了java 读取网页内容的实例详解的相关资料,希望通过本文能帮助到大家,让大家学习理解这部分内容,需要的朋友可以参考下
    2017-09-09
  • 浅谈java 中equals和==的区别

    浅谈java 中equals和==的区别

    这篇文章主要介绍了java 中equals和==的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03

最新评论