bootstraptable控制分页_bootstrap table分页(前后端两种方式实现)

bootstrap table分页的两种方式:

前端分页:一次性从数据库查询所有的数据,在前端进行分页(数据量小的时候或者逻辑处理不复杂的话可以使用前端分页)

服务器分页:每次只查询当前页面加载所需要的那几条数据

bootstrap 下载地址:bootstrap下载

bootstrap-table 下载地址:bootstrap-table下载

jquery下载地址:jquery下载

分页效果(请忽略样式)

一:准备js、css等文件

▶ 将下载的文档直接放入webapp目录下

▶页面引入需要的js、css

rel="stylesheet">

二:html页面标签内容

查询条件

姓名:

手机号:

查询

三:JS分页代码

$('#mytab').bootstrapTable({

method : 'get',

url : "user/getUserListPage",//请求路径

striped : true, //是否显示行间隔色

pageNumber : 1, //初始化加载第一页

pagination : true,//是否分页

sidePagination : 'client',//server:服务器端分页|client:前端分页

pageSize : 4,//单页记录数

pageList : [ 5, 10, 20, 30 ],//可选择单页记录数

showRefresh : true,//刷新按钮

queryParams : function(params) {//上传服务器的参数

var temp = {//如果是在服务器端实现分页,limit、offset这两个参数是必须的

limit : params.limit, // 每页显示数量

offset : params.offset, // SQL语句起始索引

//page : (params.offset / params.limit) + 1, //当前页码

Name : $('#search_name').val(),

Tel : $('#search_tel').val()

};

return temp;

},

columns : [ {

title : '登录名',

field : 'loginName',

sortable : true

}, {

title : '姓名',

field : 'name',

sortable : true

}, {

title : '手机号',

field : 'tel',

}, {

title : '性别',

field : 'sex',

formatter : formatSex,//对返回的数据进行处理再显示

}, {

title : '操作',

field : 'id',

formatter : operation,//对资源进行操作

} ]

})

//value代表该列的值,row代表当前对象

function formatSex(value, row, index) {

return value == 1 ? "男" : "女";

//或者 return row.sex == 1 ? "男" : "女";

}

//删除、编辑操作

function operation(value, row, index) {

var htm = "删除修改"

return htm;

}

//查询按钮事件

$('#search_btn').click(function() {

$('#mytab').bootstrapTable('refresh', {

url : 'user/getUserListPage'

});

})

四:bootstrap-table 实现前端分页

▶ 修改JS分页代码中某些属性

sidePagination:'client',

queryParams : function (params) {

var temp = {

name:$('#search_name').val(),

tel:$('#search_tel').val()

};

return temp;

},

▶ 定义user对象

package com.debo.common;

public class User {

private Integer id;

private String loginName;

private String name;

private String tel;

private Integer sex;

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getLoginName() {

return loginName;

}

public void setLoginName(String loginName) {

this.loginName = loginName;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getTel() {

return tel;

}

public void setTel(String tel) {

this.tel = tel;

}

public Integer getSex() {

return sex;

}

public void setSex(Integer sex) {

this.sex = sex;

}

}

▶ 服务器Controller层代码

/**

*直接一次性查出所有的数据,返回给前端,bootstrap-table自行分页

*/

@RequestMapping("/getUserListPage")

@ResponseBody

public List getUserListPage(User user,HttpServletRequest request){

List list = userService.getUserListPage(user);

return list;

}

▶ mabatis语句

SELECT * FROM user WHERE 1 = 1

AND name LIKE CONCAT('%',#{name},'%')

AND tel = #{tel}

五:bootstrap-table 实现服务器端分页

▶ 设置JS分页代码中的某些属性

sidePagination:'server',

queryParams : function (params) {

var temp = {

limit : params.limit, // 每页显示数量

offset : params.offset, // SQL语句起始索引

page: (params.offset / params.limit) + 1, //当前页码

Name:$('#search_name').val(),

Tel:$('#search_tel').val()

};

return temp;

},

▶ 封装公共的page对象,并让user对象继承page对象

package com.debo.common;

public class Page {

//每页显示数量

private int limit;

//页码

private int page;

//sql语句起始索引

private int offset;

public int getLimit() {

return limit;

}

public void setLimit(int limit) {

this.limit = limit;

}

public int getPage() {

return page;

}

public void setPage(int page) {

this.page = page;

}

public int getOffset() {

return offset;

}

public void setOffset(int offset) {

this.offset = offset;

}

}

package com.debo.common;

public class User extends Page{

private Integer id;

private String loginName;

private String name;

private String tel;

private Integer sex;

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getLoginName() {

return loginName;

}

public void setLoginName(String loginName) {

this.loginName = loginName;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getTel() {

return tel;

}

public void setTel(String tel) {

this.tel = tel;

}

public Integer getSex() {

return sex;

}

public void setSex(Integer sex) {

this.sex = sex;

}

}

▶ 封装返回数据实体类

package com.debo.common;

import java.util.ArrayList;

import java.util.List;

public class PageHelper {

//实体类集合

private List rows = new ArrayList();

//数据总条数

private int total;

public PageHelper() {

super();

}

public List getRows() {

return rows;

}

public void setRows(List rows) {

this.rows = rows;

}

public int getTotal() {

return total;

}

public void setTotal(int total) {

this.total = total;

}

}

▶ 服务器Controller层代码

@RequestMapping("/getUserListPage")

@ResponseBody

public PageHelper getUserListPage(User user,HttpServletRequest request) {

PageHelper pageHelper = new PageHelper();

// 统计总记录数

Integer total = userService.getTotal(user);

pageHelper.setTotal(total);

// 查询当前页实体对象

List list = userService.getUserListPage(user);

pageHelper.setRows(list);

return pageHelper;

}

▶ mybatis语句

SELECT count(1) FROM user WHERE 1 = 1

AND name LIKE CONCAT('%',#{name},'%')

AND tel = #{tel}

SELECT * FROM user WHERE 1 = 1

AND name LIKE CONCAT('%',#{name},'%')

AND tel = #{tel}

LIMIT #{offset},#{limit}

tip:增、删、改操作后重新加载表格

$("#mytab").bootstrapTable('refresh', {url : url});

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/244267.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

gitlab 构建tag_GitLab常用命令 分支 Tag 配置 操作

一、从SVN迁出到本地Git仓库(还没有配置Git仓库的,直接看第八条)git svn clone "" ##注意路径需要双引号引起来二、在远程仓库中新建对应名称的项目http://git.xxx.cn (公司的gitlab地址)三、将远程仓库项目与本地仓库代码做好映射1. 建立…

html表单赋值提交,jQuery自动给表单赋值

/** jquery 初始化form插件,传入一个json对象,为form赋值* version: 1.0.0-2013.06.24* requires jQuery v1.5 or later* Copyright (c) 2013* note: 1、此方法能赋值一般所有表单,但考虑到checkbox的赋值难度,以及表单中很少用ch…

html5 hgroup,HTML5 hgroup 标签

实例HTML5 使用 对标题进行组合:Welcome to my WWFFor a living planetThe rest of the content...尝试一下 浏览器支持IE 9、Firefox、Opera、Chrome 和 Safari 支持 标签。注释:IE 8 或更早版本的 IE 浏览器不支持 标签。标签定义及使用说明标签被用来…

easyexcel和poi对比_POI 和 EasyExcel

POI 和 easyExcel 讲解转自狂神老师,仅作为个人笔记使用一、POI常用进程1、将用户信息导出为excel表格(导出数据....)2、将Excel表中的信息录入到网站数据库(习题上传....)开发中经常会设计到excel的处理,如导出Excel,导入Excel到数据库中&am…

python类定义学生信息_Python学生信息管理系统(注释最详细,小白都看的懂)

1 importos23 #学生系统基本功能4 #增删查改56 #如何实现该系统7 #1.显示系统功能界面8 #2.让用户选择功能9 #3.判断用户选择的指定功能,然后完成相应的操作(增删查改)1011 #面向对象分析12 #1.抽象类13 #学生系统管理类 学生类14 #2.分析类的成员1516 #学生系统管理…

git 拉取远端仓库_git 从远程仓库拉取代码

使用git 直接提交的话 直接 push获取最新版本 有两种 拉取 和 获取 pull 和 fetchgit pull 从远程拉取最新版本 到本地 自动合并 merge git pull origin mastergit fetch 从远程获取最新版本 到本地 不会自动合并 merge git fetch origin maste…

人机接口要学哪些计算机语言,智能人机接口

智能人机接口一般又简称为智能接口,是为了建立和谐的人机交互环境,在和谐的条件下实现智能,以智能的目的实现和谐,使人与计算机之间的交互能够像人与人之间的交流一样自然、方便,它对于改善人机交互的友好性&#xff0…

layer中嵌套的页面如何操作父页面_layui框架中layer父子页面交互详细解说

本文主要介绍了layui框架中layer父子页面交互的方法,结合实例形式分析了layer父子页面交互的常用技巧以及layer弹出多个iframe找到父页面的操作方法,需要的朋友可以参考下,希望给大家的学习有所启发。本文实例讲述了layui框架中layer父子页面交互的方法。分享给大家…

jquery获取html代码怎么写,jQuery从html代码中获取对应标签的写法

1、示例代码获取id为t1标签$(#t1)2、示例代码获取div标签$(.t2)3、示例代码dagagagragagdagagagragag获取所有的p标签$(p)4、示例代码获取id为tt的标签和p标签以及span标签$("#tt p span")注意空格的用法5、示例代码如果找找到该代码中所有的t5标签和span标签以及a标…

html5 canvas实际应用,Html5 Canvas入门及经典应用

Html5 Canvas入门及经典应用时间:2019-02-15 来源:华清远见canvas想必对于前端的工程师都不陌生了,它是 HTML5 新增的「画布」元素,是HTML5 的一大亮点,canvas翻译过来其实就是画布的意思,它可以替代fl…

redminote8自动关机怎么回事_红米Note8Pro手机值得入手吗 红米Note8Pro手机全面评测...

六、续航:4500mAh大电池与G90T的碰撞发手机发布之前,Redmi品牌总经理卢伟冰在微博上也说过,G90T的12nm处理器在功耗方面和7nm处理器会有10%左右的差距。为了弥补功耗的差距,红米Note 8 Pro采用了4500mAh的大电池。大电池和12nm芯碰…

计算机机房用户不规则行为,网络及网管机房管理理论练习

一、填空题:1、机房行为管理的宗旨是( 以人为本)。2、机房管理的内涵构架上至少应包括“(环境)、人、(机)、网络和管理”五个方面。3、对于从事机房管理的工作人员,不仅要学会管理(机房设备),也得学会管理(…

python异步io 队列_python 学习笔记九 队列,异步IO

queue (队列)队列是为线程安全使用的。1.先入先出import queue#测试定义类传入队列class Foo(object):def __init__(self,n):self.nnnew queue.Queue(maxsize3)new.put(1)new.put(Foo(1),timeout2) # 超时时间后,抛出队列full异常new.put([1, 2, 3],timeout2)print…

html 5 canvas flash,为什么使用HTML5 Canvas创建内容比使用Flash创作要复杂得多?

好问题.我一直在使用< canvas>几年,我也是一名前Flash开发人员.我不认为你错过了什么.嗯,< canvas>,你知道,它必须看起来比Flash更复杂:). Flash是一种客户端工具.它提供了一个非常棒的GUI,大量的视觉和即时功能,并允许用户有时编写动画而无需一行代码(actionscrip…

vue 项目难点_vue项目中遇到的问题汇总

前&#xff1a;项目用到的技术栈为webpackvue2.xpugstyluselementUI1、IE9中&#xff0c; 请求服务器数据并用v-for渲染option标签出现只显示第一个字的问题解决方法&#xff1a;/*** 强制重绘页面的select 输入框&#xff0c;解决IE9只显示单个字符串问题* param useNextTick …

计算机工程师的英语求职信,软件工程师的英文求职信范文

软件工程师的英文求职信范文软件工程师的英文求职信范文name:CNrencai sex: maleethnic: chinese political features: membersacademic qualifications (degree): bachelor of professional: industrial electric automationtel :0755-12345678 mobile: 139xxxxxxfutian distr…

matlab用diag直接使用错误_matlab中的diag(diag(a))是什么意思?

展开全部取出62616964757a686964616fe4b893e5b19e31333365643533a阵的对角元&#xff0c;然后构建一个以a对角元为对角的对角矩阵。A 1 23 4>> diag(diag(A))ans 1 00 4matlab中diag用法&#xff1a; diag(v,k)以向…

计算机控制系统为什么会受到干扰,浅谈计算机控制系统中的干扰及其抑制措施...

摘要&#xff1a;具有良好的抗干扰性&#xff0c;是衡量计算机控制系统可靠性的一个标准。国内外的学者&#xff0c;曾经研究过这一课题&#xff0c;认为抗抗干扰性的理论十分复杂&#xff0c;技术也十分精密&#xff0c;需要大量的实践才能解决。本文通过对计算机控制系统中存…

php 获取上周日期_php 获取今日、昨日、上周、本月的起始时间戳和结束时间

1、php获取今日开始时间戳和结束时间戳$beginTodaymktime(0,date(m),date(d),date(Y));$endTodaymktime(0,date(d)1,date(Y))-1;2、php获取昨日起始时间戳和结束时间戳$beginYesterdaymktime(0,date(d)-1,date(Y));$endYesterdaymktime(0,date(Y))-1;3、php获取上周起始时间戳和…

计算机软件中级职称 入职,计算机职调称论文.doc

计算机职称论文以多层次计算机专业职称资格证书为主线的人才培养新模式探索与实践摘 要&#xff1a;本文结合我院近几年学生就业的实际情况&#xff0c;提出以多层次计算机专业职称资格证书为主线的人才培养新模式。文章探讨了该模式的内涵及实施该模式的意义&#xff0c;依据新…