在业务系统开发中,对表格记录的查询、分页、排序等处理是非常常见的,在Web开发中,可以采用很多功能
我们提供的服务有:网站设计、网站制作、微信公众号开发、网站优化、网站认证、平武ssl等。为超过千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的平武网站制作公司
强大的插件来满足要求,且能极大的提高开发效率。
Bootstrap-table是一款非常有名的开源表格插件,在很多项目中广泛的应用。
Bootstrap-table插件提供了非常丰富的属性设置,可以实现查询、分页、排序、复选框、设置显示列、Card
view视图、主从表显示、合并列、国际化处理等处理功能,而且该插件同时也提供了一些不错的扩展功能,如
移动行、移动列位置等一些特殊的功能,
Bootstrap-Table显示数据到表格的方式有两种,一种是客户端(client)模式,一种是服务器(server)模式。
示的界面中,客户端模式较为简单,它是把数据一次性加载出来放到界面上,然后根据你设置的每页记录
数,自动生成分页。当点击第二页时,会自动加载出数据,不会再向服务器发送请求。同时用户可以使用
其自带的搜索功能,可以实现全数据搜索。对于数据量较少的时候,可以使用这个方法。
示到表格中。该方法可以根据用户的需要动态的加载数据,节省了服务器的资源,但是不能使用其自带的
全数据搜索功能。
Bootstrap_Table是一个插件,要依赖于Bootstrap,而BootStrap要依赖于jQuery
Bootstrap_Table可以实现查询、分页、排序、复选框、设置显示列、Card view视图、主从表显示、合并列、国际化处理等处理功能
插件操作有两种方式
显示数据到表格的方式有两种,
需要引入的 css和js
Title
data实战
Title
ID
名称
年龄
性别
地址
js实践
Title
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
My JSP 'table.jsp' starting page
TableInfo.java
@Data
public class TableInfo {
//数据库总行数
private int total;
//当前页的数据
private List rows;
}
StudentServlet.java
@WebServlet("/StudentServlet2")
public class StudentServlet2 extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
//获取请求参数,目前有五个(查询条件 ,当前页,页面大小,分页字段,分页大小)
//将来应该从service获取
List students = new ArrayList();
students.add(new Student(1, "1", 1, "1", "1"));
students.add(new Student(2, "2", 1, "1", "1"));
students.add(new Student(3, "3", 1, "1", "1"));
// students.add(new Student(4,"5",1,"1","1"));
// students.add(new Student(5,"6",1,"1","1"));
//设置tableInfo对象
TableInfo tableInfo = new TableInfo();
tableInfo.setTotal(10);
tableInfo.setRows(students);
out.println(JSON.toJSON(tableInfo));
}
}
common.js
(function($) {
$.extend({
table : {
init : function(options) {
$("#bootstrap-table").bootstrapTable({
url : options.url, //请求后台的URL(*)
columns : options.columns,
sortName : options.sortName,
sortOrder : options.sortOrder, //排序方式
contentType : "application/x-www-form-urlencoded",
sidePagination : "server", //分页方式:client客户端分页,server服务端分页(*)
queryParams : function(params) {
var search = {};
$.each($("#condition-form").serializeArray(), function(i, field) {
search[field.name] = field.value
});
search.pageSize = params.limit;
search.pageNum = params.offset / params.limit + 1;
search.orderByColumn = params.sort;
search.isAsc = params.order;
return search;
},
method : 'POST', //请求方式(*)
toolbar : '#toolbar', //工具按钮用哪个容器
search : false, //是否显示表格搜索
showFooter : false, //显示底部,默认不显示
striped : true, //是否显示行间隔色
cache : false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
pagination : true, //是否显示分页(*)
showPaginationSwitch : true, //显示切换分页
showFullscreen : false, //显示全屏
showHeader : true, //显示头部,默认显示
showExport : true, //显示导出
showColumns : true, //是否显示所有的列(选择显示的列)
showRefresh : true, //是否显示刷新按钮
sortable : true, //是否启用排序
pageNumber : 1, //初始化加载第一页,默认第一页,并记录
pageSize : 3, //每页的记录行数(*)
pageList : [ 3, 6, 9 ], //可供选择的每页的行数(*)
strictSearch : true,
minimumCountColumns : 2, //最少允许的列数
clickToSelect : true, //是否启用点击选中行
uniqueId : "id", //每一行的唯一标识,一般为主键列
showToggle : true, //是否显示详细视图和列表视图的切换按钮
cardView : false, //是否显示详细视图
detailView : false, //是否显示父子表
});
}
},
treeTable : {}
})
})(jQuery);
table.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
My JSP 'table.jsp' starting page