SpringMVC+JPA+EasyUI 服务端分页

来源:互联网 发布:it培训的经历 编辑:程序博客网 时间:2024/05/21 19:40

问题: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参数具体属性要看服务端如何封装返回结果集,这里仅作示例


0 0
原创粉丝点击