`
胡小米
  • 浏览: 76294 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

struts2-json详解(一)

阅读更多
result   类型  为stream

<action name="ss">
   <result type="stream">
    //指定被下载文件的文件类型
    //image/jpg   图片jpg
    //image/gip   图片gif
    //application/zip
    <param name="contentType">image/jpg</param>
    //指定被下载文件的入口输入流
    <param name="inputName">targetFile</param>
   
    //指定下载的文件名
    <param name="contentDisposition">filename="wjc_lgo.jpg"</param>
   
    //指定下载文件时的缓冲大小
    <param name="bufferSize">4096</param>
   
   </result>
  </action>

这五个参数是StreamResult中需要使用到的属性,当然也可以不用配置,但是前提是属性值需要符合StreamResult默认的参数。比如这个文件的contentType是image/gif的,而StreamResult中默认的是text/plain.

JSONArray:是用于将Java中Array以及Collection转换成Json形式的字符串;
JSONObject:是将Java中的普通对象以及Map转换成Json形式的字符串;
JsonConfig:当我们将Java中的对象要转换成Json的时候,需要防止形成环状(比如在一对一等映射关系中),如果你是使用 Hibernate的时候,对于代理对象也是不能转化的,还有就是对于日期的转换也是经常会出错的(如果一定要使用日期,建议使用dwr传输数据)。以上三种情景是在使用Json的时候最容易出错的,幸好JsonConfig帮了我们大忙。使用JsonConfig可以将一个类中包含以上三种类型的属性在将对象转换成Json的时候过滤掉(当然是在客户端不需要那些属性的情况下),同时这样也能减少网络通信的数据量,提升性能。
result   类型  为json
有param下如:

ignoreHierarchy参数:表示是否忽略等级,也就是继承关系,比如:TestAction继承于BaseAction,那么TestAction中返回的json字符串默认是不会包含父类BaseAction的属性值,
ignoreHierarchy值默认为true,设置为false后会将父类和子类的属性一起返回。
<result type="json">
<param name="ignoreHierarchy">false</param>
</result>

excludeNullProperties参数:表示是否去掉空值,默认值是false,如果设置为true会自动将为空的值过滤,只输出不为空的值。
<result type="json">
<param name="excludeNullProperties">true</param>
</result>

root参数:从返回结果中根据ognl表达式取出你需要输出的结果。
只输出person对象的name属性值,配置如下:
<result type="json">
<param name="root">person.name</param>
</result>

includeProperties参数:输出结果中需要包含的属性值,这里正则表达式和属性名匹配,可以用“,”分割填充多个正则表达式。
<result type="json">
<param name="includeProperties">person.*, person\.name</param>
</result>

excludeProperties参数:输出结果需要剔除的属性值,也支持正则表达式匹配属性名,可以用“,”分割填充多个正则表达式,类同includeProperties参数。
分享到:
评论

相关推荐

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

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

    struts2_json_jquery_集成详解.docx

    struts2_json_jquery_集成详解

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

    NULL 博文链接:https://deony2jacob1314.iteye.com/blog/1826725

    Struts2 Result 返回JSON对象详解

    主要讲解Struts2返回JSON对象的两种方式,讲的比较详细,希望能给大家做一个参考。

    详解Struts2中json 相互引用死循环解决办法

    本篇文章主要介绍详解Struts2中json 相互引用死循环解决办法,具有一定的参考价值,有兴趣的可以了解一下。

    完整的struts2框架应用实例.docx

    Struts2 框架应用实例详解 Struts2 框架是一种基于 Java 语言的 Web 应用程序框架,它提供了一个灵活的和可扩展的架构,以帮助开发者快速构建基于 Web 的应用程序。下面是 Struts2 框架应用实例的详细介绍: 一、...

    java 三大主流框架

    Struts2中的Action详解和配置 Struts2中的Action可以配置多种方式,例如: * 使用Struts2提供的`struts.xml`文件进行配置。 * 使用Java注解进行配置。 * 使用Spring框架进行配置。 Hibernate框架 Hibernate是一...

    低清版 大型门户网站是这样炼成的.pdf

    2.2.2 struts 2属性配置文件struts.properties详解 55 2.2.3 struts 2核心配置文件struts.xml详解 57 2.3 struts 2应用开发实务 61 2.3.1 struts 2应用开发环境的搭建 62 2.3.2 struts 2应用基本开发步骤—搭建...

    Struts2和Ajax数据交互示例详解

    Struts2框架自己整合了对Ajax的原生支持(struts 2.1.7+,之前的版本可以通过插件实现),框架的整合只是使得JSON的创建变得异常简单,并且可以简单的融入到Struts2框架中,当然这只是在我们需要JSON的时候才会显得...

    jquery pagination分页插件使用详解(后台struts2)

    页面是用的纯css的效果,没有使用bootstrap的框架,不然自带的分页是挺好用的,就不用麻烦了这边使用了jquery pagination分页插件来实现这个功能的,这边后台用的是struts2的框架,ssh的,jquery返回json数据,然后...

    spring杂谈 作者zhang KaiTao

    1.7 Spring开闭原则的表现-BeanPostProcessor扩展点-2 1.8 Spring3.1 对Bean Validation规范的新支持(方法级别验证) 1.9 Spring对事务管理的支持的发展历程(基础篇) 1.10 基于JDK动态代理和CGLIB动态代理的实现...

    springMVC教学视频详解(包括spring和mybatis的整合)

    此视频包含:springmvc入门教程(原理分析、环境搭建、前端控制器配置、Handler...springmvc和struts2的区别;springmvc异常处理;springmvc上传图片;springmvc实现json交互;springmvc对RESTful支持;springmvc拦截器

    java版飞机大战源码-Rockira.github.io:Rockira.github.io

    :page_facing_up:Struts2 :memo:Mybatis :fish_cake_with_swirl:Spring家族 :lollipop:SSM项目 :jack-o-lantern:SSH项目 :television:Redis :videocassette:面试 :jack-o-lantern:大数据 ODPS离线分析 Hive Spark ...

    Web安全深度剖析(张柄帅)

    8.3.1 Struts2代码执行漏洞 166 8.3.2 ThinkPHP命令执行漏洞 169 8.3 防范命令执行漏洞 169 第9章 文件包含漏洞 171 9.1 包含漏洞原理解析 171 9.1.1 PHP包含 171 9.1.2 JSP包含 180 9.2 安全编写包含 184 9.3 小结 ...

Global site tag (gtag.js) - Google Analytics