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 注解应用详解 #### 一、引言 随着软件开发技术的不断进步,简化配置文件、提高代码可读性和维护性成为开发者们的共同追求。在Java Web开发领域,Struts2框架因其丰富的功能和良好的扩展性受到广泛欢迎...
### Struts2与JSON整合详解 #### 引言 在现代Web开发中,JSON(JavaScript Object Notation)作为轻量级的数据交换格式,因其简洁、易于读写的特点,被广泛应用于前后端通信中。Struts2,作为Java Web开发中的经典...
**AjaxStruts2Json实例详解** 在Web开发中,用户界面的实时性和互动性变得越来越重要,这使得异步更新技术如Ajax(Asynchronous JavaScript and XML)被广泛应用。Ajax允许网页在不重新加载整个页面的情况下与...
Struts2是一个非常流行的Java Web框架,用于构建和维护可扩展且易于管理的企业级应用程序。在Struts2中,JSON(JavaScript Object Notation)插件是实现前后端数据交互的重要工具,尤其在当今Web开发中,JSON由于其...
### Struts2 JSON插件入门知识点详解 #### 1. 依赖包 - **Struts2 必需的 6 个 jar 包** - `commons-fileupload-1.2.2.jar`: 提供了文件上传功能的支持。 - `commons-io-2.0.1.jar`: 用于处理I/O操作,简化输入...
Struts2框架详解 Struts2是Java Web开发中的一款广泛应用的开源MVC框架,它构建在Apache Struts 1的基础上,提供了更为强大的功能和更好的灵活性。Struts2旨在简化Web应用开发,通过将表现层与业务逻辑层解耦,提高...
### Struts2整合JSON知识点详解 #### 一、概述 在现代Web开发中,JSON(JavaScript Object Notation)因其轻量级的数据交换格式而被广泛采用。Struts2作为Java Web开发中的一个重要框架,能够方便地与JSON进行整合...
为了方便ajax调用传输数据,在struts2中加入的json插件用来做对象的序列化和反序列化,json插件的下载地址 http://code.google.com/p/jsonplugin/ 1. 下载json插件包,将jar包拷贝到WEB-INF/lib目录 注:struts2...
### Struts2、JSON、Gson、jQuery与Ajax简单应用详解 #### 一、概述 在Web开发领域,Struts2、JSON、Gson、jQuery和Ajax是几个非常重要的技术,它们各自扮演着不同的角色,但又能够很好地协同工作来构建高效、交互...
这个集成过程展示了如何使用Struts2、JSON和jQuery实现前后端交互,创建一个简单的用户登录功能。通过AJAX,用户输入的数据能够异步提交到服务器,服务器处理后返回JSON数据,jQuery解析数据并在页面上显示结果,...
### Struts2与JSON交互详解 #### 一、前言 在现代Web开发中,前后端分离成为一种趋势,这使得后端系统更加专注于业务逻辑处理而非页面展示。Struts2作为一款流行的Java Web框架,提供了强大的功能来支持这种模式。...
### Struts2返回JSON对象详解 #### 一、前言 在Web开发中,前后端交互数据时,JSON格式的数据由于其简洁性和易读性,成为了一种非常流行的选择。Struts2作为Java Web开发中常用的框架之一,支持多种方式返回JSON...
Struts2拥有丰富的插件库,如Struts2-convention-plugin(自动Action映射)、Struts2-dojo-plugin(与Dojo JavaScript库集成)、Struts2-json-plugin(支持JSON响应)等,极大地扩展了框架的功能。 10. ** strut2...
Struts 2是Java开发中的一个非常重要的MVC(Model-View-Controller)框架,它在Web应用程序设计中起着核心作用。此“struts-2.3.24-all”压缩包包含了官方最新的框架版本,是开发者进行Struts 2项目开发的重要资源。...
Struts2通过Struts2-jquery插件或JSON结果类型,支持异步更新,提供更丰富的用户体验。 总的来说,Struts2作为一个成熟的Java web框架,具有丰富的特性和良好的社区支持,为开发者提供了高效且灵活的开发工具,是...
这个压缩包“Struts.2深入详解Code.7z”很可能包含了与Struts 2相关的源代码示例,帮助开发者深入理解Struts 2的工作原理和实际应用。 Struts 2的核心概念: 1. **Action类**:Action类是业务逻辑的承载者,通常...
### Struts2.1.6中关于JSON的配置与使用详解 #### 一、环境搭建:引入JSON插件包 为了使Struts2框架能够支持JSON格式的数据处理,首先需要在项目的`Web-INF/lib`目录下添加JSON插件包`jsonplugin-0.33.jar`。此JAR...
- `struts2-json-plugin`: 提供JSON支持,使Action可以直接返回JSON格式的数据,方便进行Ajax操作和移动应用开发。 6. **类型转换**: - `struts2-conversion-plugin`: 包含了各种数据类型的转换器,自动处理...