1.前端代码
html:引入bootstrap-table相关的js和css
jquery-1.9.1.min.js
bootstrap.min.css
bootstrap.min.js
bootstrap-table.js
bootstrap-table.min.css
bootstrap-table-zh-CN.js
<table id="infoDetail"></table>
js:
function showDetail(){
$('#infoDetail').bootstrapTable({
url: "xxxx",//数据源
pagination: true,//是否分页
contentType: "application/x-www-form-urlencoded",//请求数据内容格式 默认是 application/json 自己根据格式自行服务端处理
dataType: "json",//期待返回数据类型
method: "post",//请求方式
striped:true,
queryParamsType:'',
sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
pageNumber:1, //初始化加载第一页,默认第一页
pageSize: 10, //每页的记录行数(*)
pageList: [10, 20, 30], //可供选择的每页的行数(*)
queryParams: function getParams(params) {
params.valueA = aa;
params.valueB= bb;
params.valueC= 5
return params;
},
clickToSelect:true,
buttonsAlign: "left",//按钮对齐方式
columns: [
{
title: "姓名",
field: "name",
visible:true
},
{
title: "年龄",
field: "age"
},
],
locale: "zh-CN"//中文支持
});
}
//queryParams是传入到后台的参数
2.controller
@ResponseBody
@RequestMapping(value = { "xxxx", "" })
public String getStudent(String valueA,int valueC,String valueB,
Integer pageSize, Integer pageNumber,String sortName,String sortOrder){
//pageSize,pageNumber,sortName,sortOrder是默认传过来的分页参数
Map<String,Object> paramMap=new HashMap<>();
paramMap.put("pageSize", pageSize);
paramMap.put("startPlace", (pageNumber-1)*pageSize);
paramMap.put("sortName", sortName);
paramMap.put("sortOrder", sortOrder);
//........获取总数
//.....获取分页信息
//最后要返回一个总数和一个信息列表
Map<String,Object> mapResult=new HashMap<>();
mapResult.put("total", total);
mapResult.put("rows", sudentList);
String jsonResult=JsonUtil.toJson(mapResult);
return jsonResult;
}
3.xml
select a.name as name,a.age as age from student
where 1=1
<if test="startPlace != null and pageSize != null">
limit #{startPlace},#{pageSize}
</if>