bootstrap-table分页简单例子以及常见问题(文中带源码)

在使用bootstrap-table分页遇到不少问题,而且查了不少资料,这里总结一下。


1,导入JS错误

 表现:加入bootstrap-table-zh-CN但是没有汉化,以及提示TypeError: $(...).bootstrapTable is not a function这种类似的错误。

这些都是导入的顺序不对,下面贴一份我的导入顺序

<script type="text/javascript"
	src="${pageContext.request.contextPath}/js/jquery-3.1.0.min.js"></script>
<script type="text/javascript"
	src="${pageContext.request.contextPath}/js/bootstrap.min.js"></script>
<script type="text/javascript"
	src="${pageContext.request.contextPath}/js/bootstrap-table.min.js"></script>
<script type="text/javascript"
	src="${pageContext.request.contextPath}/js/bootstrap-table-zh-CN.min.js"></script>

2,传入后台的参数不对

        bootstrap-table有两种传递方式,data-query-params-type默认为limit,此时传递给后台的就是limit, offset, search, sort, order。换成其他值,一般我们选择为空串,传递的参数就是pageSize, pageNumber, searchText, sortName, sortOrder.。根据你选择不同,后台的逻辑也要改变。


3,想改变接口的参数

很多时候我们都是自己的方式命名,并不喜欢他的默认,我们只要写一个函数即可

function queryParams(params) {
			return {
				pageSize : params.pageSize,
				page : params.pageNumber
			};
}

此处page,pageSize就是我后台默认接收的参数名称。

然后修改queryParams参数的值为我们写的函数queryParams


4,返回类型

现在一般都默认用JSON,我一开始以为返回的数据是我自己定义出来的JSON串,然后在前台用JS解析,后来发现并不是这么回事,返回的数据格式按照total和rows的键值对来的,total就是总共的数据,rows对应的是查询出来的数据。


附:源码部分

Controller部分

	@RequestMapping("/findUser")
	public @ResponseBody Map<String,Object> show(int page,int pageSize){
		 Map<String,Object> map =new HashMap<>();
		 PageInfo<User> listUser = service.listUser(page, pageSize);//这里是查询逻辑,忽略
		 map.put("total", listUser.getTotal());//总共数据量
		 map.put("rows", listUser.getList());//数据
		 return map;//返回json(利用框架转化)
	}

前端显示标签部分

<table id="dg"></table>

很简单,就是个table,下面是配置的JS

$('#dg').bootstrapTable({
			url : '${pageContext.request.contextPath}/findUser.do',//url默认走的是get
			striped : true,
			dataType: 'json',
			pagination : true,
			pageList : [ 3, 5, 20 ],
			pageSize : 3,
			pageNumber : 1,
			queryParamsType: "",//这里只是选择适合我后台的逻辑,可以选择传入页数和显示数量
			queryParams : queryParams,
			sidePagination : 'server',//设置为服务器端分页
			columns : [ {
				field : 'userName',//返回数据对应的字段
				title : '标题'
			}, {
				field : 'userPassword',
				title : '时间'
			} ]
		});

还有自己改变传入后台数据的函数

		function queryParams(params) {
			return {
				pageSize : params.pageSize,//键就是自己后台的参数
				page : params.pageNumber
			};
		}

以上就是全部设置,下面再附一个文档,方便自己修改属性

http://bootstrap-table.wenzhixin.net.cn/zh-cn/documentation/

223916_bL9y_2663968.jpg
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值