系列文章目录
取派员(员工)列表分页接口实现
在前端页面的数据是从后台获取到的
即从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的一些字段