读书人

Struts2中json的应用总结

发布时间: 2012-12-27 10:17:09 作者: rapoo

Struts2中json的使用总结

首先看下面的配置文件中的两种写法:当然Action所在的包必须继承json-default:

<package name="default" extends ="json-default" >

第一种:

public class TestLine  implementsjava.io.Serializable {// Fieldsprivate String testLineId;private TestHead testHead;private Integer type;private Integer sortIndex;private Integer score;private String tigan;private String tizhi;private String jiexi;private String daan;private Timestamp lastUpdateTime;private String lastUpdateBy;

上面大家看到,action中有一个对象的引用testLine;而testLine实体中又包含另一个对象TestHead的引用;其他的我就不说了,如果你也碰到这种情况,实体嵌套,那么使用struts2的json序列化时,默认会帮你序列化这个bean(testLine)中所有的属性,属性中如果涉及其他实体引用时,会继续帮你序列化该引用(TestHead)的属性值,就这样,你有多少层的嵌套,struts2就会帮你序列化多少层,这是你想要的结果吗?
处理这种问题的方法是:我们只需要告诉struts2我需要序列化那些属性:我们拿到经过Hibernate处理的之后的结果oldTestLine之后,需要重新创建我们需要序列化的对象:TestLine testLine = new TestLine();然后将需要的字段set值即可;testLine .set(oldTestLine.get*);

处理需要序列化的集合(list、 map)问题(List<ITestLine> testLines)也是同解;
至于比较不错的json架包,个人推荐google gson。
推荐篇使用struts2返回各种类型的文章:http://www.open-open.com/lib/view/open1325518231062.html




读书人网 >JavaScript

热点推荐