您好,欢迎访问一九零五行业门户网

bootstrap-table实现服务器端的分页功能

这次给大家带来bootstrap-table实现服务器端的分页功能,bootstrap-table实现服务器端分页的注意事项有哪些,下面就是实战案例,一起来看一下。
最近前端都是用的bootstrap table这个插件,客户端分页的话数据量一多交互不好,所以大数据量的分页都用服务器端,下面开始撸代码
前端
首先看下bootstrap table 默认传的分页参数是什么
offset 从哪个下标开始
limit 每页限制的数量
可能跟我们的默认分页参数不大一样吧,所以决定改造一下,传到后台的参数为
page 第几页 从0开始
size 每页显示的数量
$('#'+ tableid).bootstraptable({      queryparams:function(e) {       varparam = {        size: e.limit,        page: (e.offset / e.limit),//不需要+1       };       returnparam;      },      sidepagination:“server”; });
后台
@apioperation(value =获取企业列表,支持分页, notes =json方法获取用户列表) @apiimplicitparams({@apiimplicitparam(name =name, value =企业名称, required =true, datatype =string), @apiimplicitparam(name =begintime, value =开始时间, required =true, datatype =string) }) @requestmapping(value=/list,method=requestmethod.post) @responsebody publicmap<string,object> list(@requestparammap<string,object> map,@requestparam(required =false) string name,@requestparam(required =false) string begintime,@requestparam(required =false) string endtime,@requestparam(required =false) integer deptid){  list list =newarraylist<>();  //当前页数  intpage = map.get(page)==null?0: integer.parseint(map.get(page).tostring());  // 每页行数  intsize = map.get(size) ==null?10: integer.parseint(map.get(size).tostring());  order order =neworder(direction.asc,id);  order order1 =neworder(direction.desc,createtime);  list<order> orders =newarraylist<order>();  orders.add(order1);//先按照createtime 降序排序 然后按照id升序  orders.add(order);  sort sort =newsort(orders);  pageable pageable =newpagerequest(page,size,sort);  page<company> companypages =null;  if(stringkit.isempty(name)){   companypages = companyservice.companydao.findall(pageable);  }else{   companypages = companyservice.companydao.findbynamelike(name,pageable);  }    list<company> companylist = companypages.getcontent();  simpledateformat sdf =newsimpledateformat(yyyy-mm-dd hh:mm:ss);  for(company company:companylist){   map<string,object> maptemp = beankit.describe(company);   maptemp.put(createtime, sdf.format(company.getcreatetime()));   list.add(maptemp);  }   map<string,object> data =newhashmap<string,object>();   data.put(total, companypages.gettotalelements());   data.put(rows, list);  returndata; }
注意点
bootstrap table接收的参数中必须要有total和rows,total就是总数量,rows是每页的数量
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
angularjs实现图片预览上传
vue使用axios与封装
以上就是bootstrap-table实现服务器端的分页功能的详细内容。
其它类似信息

推荐信息