文档章节

struts2中应用jason

IT-sticker
 IT-sticker
发布于 2016/04/25 15:34
字数 572
阅读 9
收藏 0


为了方便ajax调用传输数据,在struts2中加入的json插件用来做对象的序列化和反序列化,json插件可以在Struts2压缩包中的lib目录下找到。

3.将struts.xml里面的

Xml代码 
<package name="default" extends="struts-default"> 
改为

Xml代码 
<package name="default" extends="json-default"> 

4.Action中的配置

Xml代码 
<action name="testAction" class="com.json.action.TestAction" method="testMethod"> 
<interceptor-ref name="json" /><!--处理以JSON文本提交的请求--> 
<result type="json" /> <!--将action的bean属性以json字符串返回浏览器--> 
</action> 
注:根据需要选择interceptor和result配置

5. 你会发现前台返回的json字符串,是把action中的所有属性全部转化为json字符串返回给浏览器了,但是我有时候需要根据实际情况返回部分结果,如何对json的结果进行定制输出呢?result提供了一些参数替你解决这个问题
5.1. root参数:从返回结果中根据ognl表达式取出你需要输出的结果
如:
action类
... 

Java代码 
public class BaseAction extends ActionSupport implements { 
private Person person = null; 
... 

bean类

... 

Java代码 
public class Person { 
private String name; 
private int age; 
... 

我们只要输出person对象的name属性值,配置如下
Xml代码
< result type = "json" > 
< param name = "root" > person.name </ param > 
</ result >


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


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


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


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

本文转载自:http://blog.csdn.net/zhejingyuan/article/details/20461133

IT-sticker
粉丝 0
博文 85
码字总数 1862
作品 0
珠海
程序员
私信 提问
现在一个项目用ssh框架做的,考虑到以后在线人数多,现在设计要不要注意什么

现在有一个用ssh框架做的一个项目 后台就是struts2 spring hibernate,前台用了不少jquery通过jason格式数据交互 同时会pc客户端、ios客户端和android客户端 ios客户端和android的客户端对应...

yelloweye
2013/05/18
855
7
【JAVA学习】——Struts2的配置文件

1、加载时机: 当应用被tomcat加载的时候,struts2的配置文件就已经被加载过了。 2、加载顺序 注意: 1、Struts2提供了两种配置的方式。一种是key=value的方式,即使用.properties文件。另一...

fjj15732621696
2018/01/07
0
0
struts2与struts的区别和联系

struts2比struts有以下的优点: 1.在体系结构方面更优秀: 1.1>类更少, 更高效: 在Struts2 中无需使用 “ActionForm” 来封装请求参数.。 1.2>扩展更容易: Struts2通过拦截器完成了框架的大部分...

长平狐
2012/09/03
157
1
Struts2学习(二):struts2配置详解!

Struts2框架按照以下搜索顺序加载Struts2常量: 1.struts-default.xml---该文件保存在struts2-core-2.x.x.jar文件中 2.struts-pluugin.xml---在struts2一些插件jar包里,比如struts2-xxx-plu...

这个人很懒-啥都没写
2013/07/19
3.9K
1
Java web学习(五)

Struts2框架几乎是目前最优秀的MVC框架之一。Struts2框架是WebWork框架和Struts1框架的结合体。 Struts2结构体系 注:现在StrutsPrepareAndExecuteFilter过滤器已经代替了FilterDispatcher过...

kakayang2011
2016/03/10
78
0

没有更多内容

加载失败,请刷新页面

加载更多

只需一步,在Spring Boot中统一Restful API返回值格式与统一处理异常

统一返回值 在前后端分离大行其道的今天,有一个统一的返回值格式不仅能使我们的接口看起来更漂亮,而且还可以使前端可以统一处理很多东西,避免很多问题的产生。 比较通用的返回值格式如下:...

晓月寒丶
昨天
59
0
区块链应用到供应链上的好处和实际案例

区块链可以解决供应链中的很多问题,例如记录以及追踪产品。那么使用区块链应用到各产品供应链上到底有什么好处?猎头悬赏平台解优人才网小编给大家做个简单的分享: 使用区块链的最突出的优...

猎头悬赏平台
昨天
28
0
全世界到底有多少软件开发人员?

埃文斯数据公司(Evans Data Corporation) 2019 最新的统计数据(原文)显示,2018 年全球共有 2300 万软件开发人员,预计到 2019 年底这个数字将达到 2640万,到 2023 年达到 2770万。 而来自...

红薯
昨天
65
0
Go 语言基础—— 通道(channel)

通过通信来共享内存(Java是通过共享内存来通信的) 定义 func service() string {time.Sleep(time.Millisecond * 50)return "Done"}func AsyncService() chan string {retCh := mak......

刘一草
昨天
58
0
Apache Flink 零基础入门(一):基础概念解析

Apache Flink 的定义、架构及原理 Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据进行快速...

Vincent-Duan
昨天
60
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部