BOS项目(SSH)05_02_取派员(员工)列表分页接口实现_1、把对象转成json、离线查询、使用转json框架(net.sf.json)、json数据应用到页面中、默认每页显示5条数据

系列文章目录

取派员(员工)列表分页接口实现

在这里插入图片描述
在前端页面的数据是从后台获取到的
即从Action里面去获取到的
所以Action里面要返回json数据

要实现这个我们首先要把数据库里面的数据转成json
因为前端会传两个参数给我们(当前页码,和每页显示多少条数据)
在这里插入图片描述
page 当前页码,所以很简单
rows 每页显示多少条数据

把对象转成json

把对象转成json可以使用很多框架
我们这里使用net.sf.json这个框架
现在由于数据量太少了不好测试,一两页不好测试
所以我们先多插一些数据进去
直接复制这段代码,去数据库执行

insert into bc_staff values('50282b8151q42ed2015c242ffe8b0000','郭1','13532323434','1','0','单位一','标准一');
insert into bc_staff values('50282b8151q42ed2015c242ffe8b0001','郭2','13532323434','1','0','单位一','标准一');
insert into bc_staff values('50282b8151q42ed2015c242ffe8b0002','郭3','13532323434','1','0','单位一','标准一');
insert into bc_staff values('50282b8151q42ed2015c242ffe8b0003','郭4','13532323434','1','0','单位一','标准一');
insert into bc_staff values('50282b8151q42ed2015c242ffe8b0004','郭5','13532323434','1','0','单位一','标准一');
insert into bc_staff values('50282b8151q42ed2015c242ffe8b0005','郭6','13532323434','1','0','单位一','标准一');
insert into bc_staff values('50282b8151q42ed2015c242ffe8b0006','郭7','13532323434','1','0','单位一','标准一');
insert into bc_staff values('50282b8151q42ed2015c242ffe8b0007','郭8','13532323434','1','0','单位一','标准一');
insert into bc_staff values('50282b8151q42ed2015c242ffe8b0008','郭9','13532323434','1','0','单位一','标准一');
insert into bc_staff values('50282b8151q42ed2015c242ffe8b0009','郭10','13532323434','1','0','单位一','标准一');
insert into bc_staff values('50282b8151q42ed2015c242ffe8b0010','郭11','13532323434','1','0','单位一','标准一');
insert into bc_staff values('50282b8151q42ed2015c242ffe8b0011','郭12','13532323434','1','0','单位一','标准一');
insert into bc_staff values('40282b8151q42ed2015c242ffe8b0012','郭13','13532323434','1','0','单位一','标准一');
insert into bc_staff values('40282b8151q42ed2015c242ffe8b0013','郭14','13532323434','1','0','单位一','标准一');
insert into bc_staff values('40282b8151q42ed2015c242ffe8b0014','郭15','13532323434','1','0','单位一','标准一');
insert into bc_staff values('40282b8151q42ed2015c242ffe8b0015','郭16','13532323434','1','0','单位一','标准一');
insert into bc_staff values('40282b8151q42ed2015c242ffe8b0016','郭17','13532323434','1','0','单位一','标准一');
insert into bc_staff values('40282b8151q42ed2015c242ffe8b0017','郭18','13532323434','1','0','单位一','标准一');
insert into bc_staff values('40282b8151q42ed2015c242ffe8b0018','郭19','13532323434','1','0','单位一','标准一');
insert into bc_staff values('40282b8151q42ed2015c242ffe8b0019','郭10','13532323434','1','0','单位一','标准一');
insert into bc_staff values('40282b8151q42ed2015c242ffe8b0020','郭21','13532323434','1','0','单位一','标准一');
insert into bc_staff values('40282b8151q42ed2015c242ffe8b0021','郭22','13532323434','1','0','单位一','标准一');
insert into bc_staff values('40282b8151q42ed2015c242ffe8b0022','郭23','13532323434','1','0','单位一','标准一');
insert into bc_staff values('40282b8151q42ed2015c242ffe8b0023','郭24','13532323434','1','0','单位一','标准一');

在这里插入图片描述
这样数据就有了
在这里插入图片描述
在这里插入图片描述
我们要的是返回json数据,所以返回NONE,然后自己写json数据
在这里插入图片描述
在这里插入图片描述
前面标识有问题,应该给它们提供set方法,这样就能够赋值,只提供get方法的话,只能获取
在这里插入图片描述
第二步
在这里插入图片描述
这里需要注意,一般model里面我们需要跟数据库对应,
这里的PageBean实际上是跟数据库不一致的,所以我们完全是可以新建一个包的
但是我们不想建那么多包
也可以放到model里面,只是思路要明白
在这里插入图片描述
都提供get、set方法,到时候我们直接把Pagebean转成json数据就行了
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
分析一下
在这里插入图片描述
要分析一下dao里面我们要怎么写?
在这里插入图片描述
在这里插入图片描述
为什么查询条件要在Action里面封装
因为接收参数是在Action
在Action更方便更改
只剩下dao了

下面看dao怎么写

在这里插入图片描述

在这里插入图片描述
我们选择下面那个参数,现在我们需要的是查询总记录数
在这里插入图片描述
返回的是list
在这里插入图片描述
先不继续往下写,我们写一步测试一步
重启服务,先测试看看查询的接口是否通了
在这里插入图片描述
这里要注意,如果不能像这样手动传参,要看下StaffAction里面是不是给page和、rows提供set方法了
在这里插入图片描述
测试成功,说明通了
这种方式就是通过离线查询来查询有多少条记录
在这里插入图片描述
同时我们也知道它的数据类型是long类型了
所以就加上这个
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果
在这里插入图片描述
那么肯定是这里漏掉了,整理后的代码如下在这里插入图片描述

接下来我们需要做的事情 就是 返回json数据
在这里插入图片描述
怎么返回json数据呢

net.sf.json

我们需要用一个框架来转(注意框架有很多,并非它不可,也可以用其它的,但是尽量去选择一个更好的,怎么方便,怎么简单怎么来)
我们这里用net.sf.json这个框架,它相比于其它框架的好处是会自动把不需要转成json的属性排除掉
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们这里的PageBean是一个对象

我们先分析一下这段代码这个,我们之前学习了,是排除的意思
在这里插入图片描述
所以这里也是一样的意思
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

最后再响应给客户端
在这里插入图片描述
这样就把数据返回回来了,返回回来之后下一步是怎么做呢
运行测试一下
这时候可能又有疑问了,现在怎么测试返回的数据,很简单
如果成功了,直接就会打印在页面上
在这里插入图片描述
这样看起来比较费劲,我们也可以使用在线解析工具,解析出来
在这里插入图片描述
在这里插入图片描述
确实也把我们不需要的字段排除了,只保留了两个我们要的字段转成json,即 int total和 List rows
在这里插入图片描述

这样格式就好看点了
下面就是把我们获取到的json数据应用到我们的页面里面去

json数据应用到页面中

在这里插入图片描述
目前是写死的,都是直接访问json文件,暂时获取的死数据,并不是数据库动态生成的
在这里插入图片描述
在这里插入图片描述

数据就过来了
在这里插入图片描述
在这里插入图片描述
这样就全部完成了
其实主要就是json数据的封装
另外需要注意这个转换是怎么实现的
在这里插入图片描述
formatter意思就是格式化

总结

总结一下所有的步骤
第一步:在StaffAction中定义分页接口(pageQuery)
第二步:在StaffAction中接收easyui-grid提交的page和rows 两个参数
第三步:通过service查询到结果,把结果封装到一个PageBean或者PageResult中(设定分页查询的Service和Dao接口)
第四步:使用net.sf.json框架将PageBean封装成json返回给客户端
第五步:去除PageBean的一些字段

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值