我们在前台页面经常会展示数据,而后台传递给前台的数据多数都是以json的格式传递过来的.我们今天将的这个小组件就是如何将任何格式的数据转换成json格式传递到前台.
首先:定义一个jsonDto类。这个类的主要作用是用来记录是否查询到要返回的数据。成功还是失败。
我们来看一下这个类是如何实现的:
完整的代码将在最后展示出来,这里只是对部分代码进行讲解.
第二步:我们来看以Result记录数据处理结果的这个类是如何定义的。
因为我们数据到底要使用什么样的结果,是不确定的,不同的情景下,返回的数据结果的格式类型也都是不一样的,因此这里只是给了一个抽象的类。那么具体的类在定义好以后实现Result这个抽象类就可以了。
第三步:接下来还有两个类,这个两个是什么类呢?是实现了Result抽象类的类。那么为什么要有这两个类呢?我一说肯定大家就知道了。这两个类一个是返回结果只有一条数据(BusinessResult<T> ),另一种是返回结果有多条数据(ListableResult<T> )。因为如果返回数据,那么返回值就只有这两种情况,所有我们把这两种情况也给封装起来了。以后如果有返回一条数据的情况就使用BusinessResult<T>来实现。如果返回多条数据就使用ListableResult<T>来实现。再多说一句,这里的T是泛型的意思。下面我们来说说第一种情况,只返回一条数据。
这种情况也很简单了,模型都定义好了,我们只需要规定好定义的泛型对象,就可以了.
第四步:第三步如果理解了,第四步就很简单了。返回的数据结果有多条数据。
第五步:上面定义的都是模型,也就是针对所有的数据定义的一个模子,下面我们来具体的实现一下。
/**
* 下面这个测试的例子要实现什么样的业务逻辑呢?这是一个查重插件返回查询数据到页面的数据处理结果的类.
* 那么这个数据处理结果是怎么样的呢?首先要返回moduleName,模块名称.然后返回要显示的列表的表头,然后是要显示的数据.
* 所以这里这样封装定义这个数据结果集.
* @param args
*/
最后输出的数据结果是:
{"message":null,"successFlag":true,"result":{"resultList":[{"moduleName":"Leads","title":["姓名","地址"],"valueList":[["姓名001","地址001"],["姓名001","地址001"]]}]}}
然后我们在页面就可以解析这个json格式的数据了
最后再说一下:使用这个jsonDto需要导入jar包:jackson-mapper-lgpl-1.9.0.jar和jackson-core-lgpl-1.9.0.jar
具体的代码内容,可以参考360网盘
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。