1.bootstrap-table使用后台分页时,请求方式为post的时候,必须添加contentType: “application/x-www-form-urlencoded”,参数,get请求时可以不需要;
2.注意controller接口的参数要与之对应,设置queryParamsType
queryParamsType:”, //默认值为 ‘limit’ ,在默认情况下 传给服务端的参数为:offset,limit,sort
// 设置为 ” 在这种情况下传给服务器的参数为:pageSize,pageNumber
3.bootstrap-table后台需要读total(总记录数)和rows(详细数据),所以最好自己组装一个PageBean进行封装,里面包含total和rows属性。
完整代码如下:
<!--列表展示-->
<div class="table-responsive" id="listDiv">
<table class="table table-striped table-hover" id="userTable">
</table>
</div>
var urlStr = '/user-web/user/getUserByPage.do';
$('#userTable').bootstrapTable({
method: 'get', //请求方式(*)
//contentType: "application/x-www-form-urlencoded",
toolbar: '#toolbar', //工具按钮用哪个容器
striped: true, //是否显示行间隔色
cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
pagination: true, //是否显示分页(*)
sortable: false, //是否启用排序
sortOrder: "asc", //排序方式
queryParamsType:'', //默认值为 'limit' ,在默认情况下 传给服务端的参数为:offset,limit,sort
// 设置为 '' 在这种情况下传给服务器的参数为:pageSize,pageNumber
queryParams: function queryParams(params) {
var param = {
pageNumber: params.pageNumber,
pageSize: params.pageSize
};
return param;
},
sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
pageNumber:1, //初始化加载第一页,默认第一页
pageSize: 5, //每页的记录行数(*)
pageList: [5, 10, 25], //可供选择的每页的行数(*)
strictSearch: true,
clickToSelect: true, //是否启用点击选中行
height: 460, //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度
uniqueId: "id", //每一行的唯一标识,一般为主键列
cardView: false, //是否显示详细视图
detailView: false, //是否显示父子表
url: urlStr, //请求后台的URL(*)
columns: [{
checkbox : true
}, {
field: 'id',
title: '学号'
}, {
field: 'name',
title: '姓名'
}, {
field: 'gender',
title: '性别'
}, {
field: 'age',
title: '年龄'
}, {
field: 'description',
title: '描述'
}
]
});
controller:
@RequestMapping(value = "/getUserByPage", method = RequestMethod.GET)
@ResponseBody
public PageBean<UserDto> getUserByPage(Integer pageSize, Integer pageNumber) throws Exception {
System.out.println("--------->>>>>" + pageSize + pageNumber);
return userService.getUserByPage(pageSize, pageNumber);
}
service和dao我就不再赘述了,sql语句为:
select * from user limit offset, pageSize
offset = (pageNumber-1)*pageSize
自己组装的pageBean.java(省略get和set方法)
public class PageBean<T> implements Serializable {
private static final long serialVersionUID = 1L;
private int pageSize;
private int pageNum;
private int total; //不能变
private int offset;
private List<T> rows; //不能变
}