笔记:Struts2 的 JSON 插件
- 安装插件,将其复制到Web应用的WEB-INF/lib 目录下
- Struts2-json-plugin-2.3.16.3.jar
- json-lib-2.3-jdk15.jar
- commons-beanutils-1.8.0.jar
- commons-collections-3.2.2.jar
- ezmorph-1.0.6.jar
- JSON注解序列化于反序列化说明,可以用于 getxxxx方法,来指定以序列化自定义参数
参数名称 | 说明 | 默认值 | 序列化 | 反序列化 |
name | 自定义名称 | empty | yes | no |
serialize | 字段是否包含序列化 | true | yes | no |
deserialize | 字段是否包含反序列化 | true | no | yes |
format | 格式化日期类型的数据 | "yyyy-MM-dd'T'HH:mm:ss" | yes | yes |
- Struts.xml 配置
- 在配置包时,需要继承 json-default 包,因为 json-default 包中提供了 json 类型的 Result
- json 结果类型允许配置的参数如下:
- 参数 contentType:MIME类型,默认值 text/html
- 参数 noCache:是否取消浏览器缓存,如果设置为 true,则在响应头增加 Cache-Control:no-cache、Expires:0、Pragma:No-cache,默认值 false
- 参数 excludeNullProperies:设置是否不序列化属性值为 null 的属性
- 参数 root:设置该参数将不再把整个Action对象序列化成JSON字符串,而只将该参数指定的Action属性序列化成JSON字符串返回给客户端
- 参数 excludeProperties:排除序列化的属性,配置在这个参数的将不会序列化JSON字符串,多个参数以英文逗号分隔
- 参数 includeProperties:包含序列化的属性,配置在整个参数的将会序列化JSON字符串,多个参数以英文逗号分隔
- 参数 ignoreHierarchy:是否只序列化 Action 本身的属性,不会理会父类的属性,设置为 false 则会序列化父类的属性,默认值 true
- 参数 enableGZIP:设置是否对JSON响应启用 gzip 压缩,默认值 false
- 参数 wrapPrefix:设置系统生成的JSON结果字符串前添加固定字符串
- 参数 wrapSuffix:设置系统生成的JSON结果字符串后添加固定字符串
- 配置示例如下:
<package name="drsoft" extends="json-default">
<action name="getuser" class="org.drsoft.action.GetUserAction">
<result type="json">
<param name="root"></param>
<param name="wrapPrefix">前缀</param>
<param name="wrapSuffix">后缀</param>
<param name="noCache">true</param>
<param name="contentType">application/Json</param>
</result>
</action>
</package>
本文版权归作者 李雪(博客地址:https://www.cnblogs.wiki)所有,欢迎转载和商用,请在文章页面明显位置给出原文链接并保留此段声明,否则保留追究法律责任的权利,其他事项,可留言咨询。