您的位置:首页 > 编程语言 > Java开发

SpringMVC+JPA+EasyUI 服务端分页

2015-12-07 10:58 579 查看
问题:SpringMVC+JPA支持分页,easyui也支持服务端分页,但用JPA封装的VO同easyui交互时却不能顺利分页。

方案:通过easyui中datagrid的onSelectPage事件来捕获分页,并灌录数据。

一. 触发方法JS

function SearchTable(_pageNumber, _pageSize){
var dg =$('#table');
var pager =dg.datagrid('getPager');

//查询条件写在这里,需附带页码信息
$.post('${ctx}/action/list', {page:_pageNumber-1,size:_pageSize}, function(data) {

$('#table').datagrid('loadData', data.content);

//注意此处从数据库传来的data数据有记录总行数的total列
var _total = data.totalElements;
pager.pagination({
//更新pagination的导航列表各参数
total: _total,//总数
pageSize: _pageSize,//行数
pageNumber: _pageNumber//页数
});

});
}


二. 定义事件,默认刷新

$(document).ready(function() {
$('#table').datagrid('getPager').pagination({
pageSize: 10, //每页显示的记录条数,默认为10
pageList: [10, 15, 20, 25], //可以设置每页记录条数的列表
onSelectPage: function(pageNumber, pageSize) {
SearchTable(pageNumber, pageSize);//每次更换页面时触发更改
}
});
//默认刷新
SearchTable(1,10);
});


三. 后台请求

@ResponseBody
@RequestMapping(value = { "list", "" })
public Page<VO> list(@PageableDefault(value = 15, sort = { "id" }, direction = Sort.Direction.DESC) Pageable pageable, Model model) {
...
return vo;
}


data参数具体属性要看服务端如何封装返回结果集,这里仅作示例
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: