Bootstrap table后端分页(ssm版)

 

 

 

 

说明
bootstrap table可以前端分页,也可以后端sql用limit分页。
这里讲的是后端分页,即实用limit。性能较好,一般均用这种
源码下载地址:https://git.oschina.net/dshvv/pagination_byjava.git
该文主要讲后端分页:
1、前端每点击翻页按钮,就会向后端发出一次请求,后端只查询当前页数所需要的几条数据
2、查询也是后端,会进入服务器

 

源码 

html

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html><head><meta charset="utf-8"><title>图片上传</title><!-- jq --><script type="text/javascript" src="<%=basePath%>js/jquery-3.1.1.min.js"></script><!-- bootstrap --><link rel="stylesheet" href="<%=basePath%>/plugs/bootstrap/css/bootstrap.min.css"><script type="text/javascript" src="<%=basePath%>/plugs/bootstrap/js/bootstrap.min.js"></script><!-- 分页插件 --><link rel="stylesheet" href="<%=basePath%>plugs/bootstrap-table/bootstrap-table.min.css"><script type="text/javascript" src="<%=basePath%>plugs/bootstrap-table/bootstrap-table.min.js"></script><script type="text/javascript" src="<%=basePath%>plugs/bootstrap-table/bootstrap-table-locale-all.min.js"></script></head><body><div class="container" style="margin-top:100px"><div class="row"><!-- 搜索框 --><div class="col-xs-6 pull-right"><div class="input-group"><input type="text" class=" form-control" name="age" placeholder="请输入年龄"><input type="text" class=" form-control" name="name" placeholder="请输入姓名"><span class="input-group-btn"><button class="btn btn-default search" type="button">Go!</button></span></div></div><!-- 表格 --><div class="col-xs-12"><table class="table table-striped table-bordered table-hover" ></table></div></div></div><script type="text/javascript">class BstpTable{constructor(obj) {this.obj=obj;}inint(searchArgs){//---先销毁表格 ---this.obj.bootstrapTable('destroy');  //---初始化表格,动态从服务器加载数据--- this.obj.bootstrapTable({//【发出请求的基础信息】
                        url: '<%=basePath%>student/selectByFy',method: 'post',contentType: "application/x-www-form-urlencoded",//【查询设置】/* queryParamsType的默认值为 'limit' ,在默认情况下 传给服务端的参数为:offset,limit,sort设置为 ''  在这种情况下传给服务器的参数为:pageSize,pageNumber */queryParamsType:'', queryParams: function queryParams(params) {  var param = {  pageNumber: params.pageNumber,    pageSize: params.pageSize}; for(var key in searchArgs){param[key]=searchArgs[key]}  return param;                   }, //【其它设置】
                        locale:'zh-CN',//中文支持
                        pagination: true,//是否开启分页(*)
                        pageNumber:1,//初始化加载第一页,默认第一页
                        pageSize: 3,//每页的记录行数(*)
                        pageList: [2,3,4],//可供选择的每页的行数(*)
                        sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
                        showRefresh:true,//刷新按钮//【样式设置】
                        height: 300,//table的高度//按需求设置不同的样式:5个取值代表5中颜色['active', 'success', 'info', 'warning', 'danger'];
                        rowStyle: function (row, index) {var style = "";if (row.name=="小红") {style='success';}return { classes: style }},//【设置列】
                        columns: [{field: 'id',title: 'id'}, {field: 'name',title: '姓名'},{field: 'age',title: '年龄'},{field: 'tool',title: '操作', align: 'center',formatter:function(value,row,index){var element = "<a class='edit' data-id='"+row.id +"'>编辑</a> "+ "<a class='delet' data-id='"+row.id +"'>删除</a> ";return element;  } }]})}}var bstpTable=new BstpTable($("table"));bstpTable.inint({})$(".search").click(function(){var searchArgs={name:$("input[name='name']").val(),age:$("input[name='age']").val()}bstpTable.inint(searchArgs)})</script></body>
</html>

 

controller

package com.dsh.controller;import java.util.HashMap;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.dsh.service.StudentService;@Controller
@RequestMapping("student")
public class StudentController {@Autowiredprivate StudentService studentService;@RequestMapping("selectByFy")@ResponseBodypublic  Map<String,Object> selectByFy(int pageSize,int pageNumber,String name,Integer age){/*所需参数*/Map<String, Object> param=new HashMap<String, Object>();int a=(pageNumber-1)*pageSize;int b=pageSize;param.put("a", a);param.put("b", b);param.put("name", name);param.put("age", age);return studentService.selectByFy(param);}
}

 

service

package com.dsh.service.imp;import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.dsh.mapper.StudentCustomMapper;
import com.dsh.pojo.Student;
import com.dsh.service.StudentService;@Service
public class StudentServiceImp implements StudentService {@Autowiredprivate StudentCustomMapper studentDao;@Overridepublic Map<String,Object> selectByFy(Map<String, Object> param) {//bootstrap-table要求服务器返回的json须包含:totlal,rowsMap<String,Object> result = new HashMap<String,Object>();int total=studentDao.selectByFy(null).size();List<Student> rows=studentDao.selectByFy(param);result.put("total",total);result.put("rows",rows);return result;}
}

 

mapper.xml(即dao)

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.dsh.mapper.StudentCustomMapper" ><select id="selectByFy" resultType="com.dsh.pojo.Student" parameterType="Map">SELECT *FROM student<if test="a!=null"><where> <if test="name!=null and name!=''"> name=#{name}</if><if test="age!=null and age!=''">AND  age=#{age}</if></where>LIMIT #{a},#{b}</if></select>
</mapper>

 

转载于:https://www.cnblogs.com/dshvv/p/9646174.html

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

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

相关文章

初中计算机课程计划,最新2020年度初中信息技术教学计划(精选3篇).doc

初中信息技术教学计划(精选3篇)初中信息技术教学计划1一、学生基本情况本计划针对七年级全体学生&#xff0c;通过上年的学习&#xff0c;学生对办公软件例如word、excel有一定了解&#xff0c;但是由于每一学期信息技术课时比较少&#xff0c;每周只有一节课&#xff0c;学生的…

dart 乘方运算符_Dart系列-运算符

周末学习了一下Dart语言&#xff0c;按照慕课网Flutter开发第一步-Dart编程语言入门教程进行学习&#xff0c;所以记录一下&#xff0c;感觉慕课网的老师辛苦做的视频教程&#xff0c;说得很清楚&#xff0c;有基础学起来很轻松也很快&#xff0c;本篇来学习dart的运算符。算术…

实例39:python

#题目&#xff1a;有一个已经排好序的数组。现输入一个数&#xff0c;要求按原来的规律将它插入数组中。 #程序分析&#xff1a;首先判断此数是否大于最后一个数&#xff0c;然后再考虑插入中间的数的情况&#xff0c;插入后此元素之后的数&#xff0c;依次后移一个位置。 #程…

6.0动态加载权限用PermissionGen

ndroid 6.0 新增加了运行时的动态添加权限&#xff0c;在此介绍一个第三方库&#xff0c;PermissionGen&#xff0c;可以很方便简洁的增加 6.0权限 首先给大家上 PermissionGen 库地址&#xff1a;https://github.com/lovedise/PermissionGen 下面给大家详细介绍它的使用&…

量子计算机具有天热的,量子绝热计算

摘要&#xff1a;本文在GNU/Linux 平台上基于Libquantum C 编译的环境实现了比QSS(Quantum System Simulator)精度高的量子绝热SAT(satisfiability problem)算法。通过选择Ising 模型的一个简化的Hamiltonian 量,在量子绝热SAT 算法中的精度得到进一步的加强。 第二章,介绍了量…

实例40:python

#将一个数组逆序输出 #!/usr/bin/python -- coding: UTF-8 -- a[0,1,2,3,4,5,6,7,8,9] for i in range(0,10): print(a.pop(),end’’)

python第三方库全部_自动更新Python所有第三方库

一般python用得比较久以后&#xff0c;就会安装很多第三方的库。比如这是我的pip list情况&#xff1a;pip list而且一屏还显示不完。通过如下命令可以看到需要更新的第三方库&#xff1a;pip list -o需要更新的库而pip提供的更新命令只能一个个的更新...pip install -U 库名 #…

2018.09.15 vijos1053Easy sssp(最短路)

传送门 貌似可以最短路时同时判定负环啊。 但我不想这样做。 于是写了一个dfs版的判环&#xff0c;bfs版的求最短路。 代码&#xff1a; #include<iostream> #include<cctype> #include<cstdio> #include<cstring> #include<queue> #define …

计算机学院创新实验室,ACM创新实验室概况

计算机与信息技术学院ACM创新实验室创建于2013年经9月&#xff0c;在学院领导的大力支持下&#xff0c;由兰义华、马晓普两位博士发起组建&#xff0c;经过近年来的发展&#xff0c;在全体队员和教练的共同努力下&#xff0c;实验室形成了较完善的管理制度和较成熟的运行模式&a…

python之pop

python中pop()函数的用法 pop() 函数用于移除列表中的一个元素&#xff08;默认最后一个元素&#xff09;&#xff0c;并且返回该元素的值。 语法&#xff1a;list.pop(objlist[-1]) //默认为 index-1&#xff0c;删除最后一个列表值。 obj – 可选参数&#xff0c;要移除列表元…

函数的有界性

要证明f(x)在X上有界&#xff0c;必须找到一个M>0&#xff0c;使任意x属于X都有 |f(x)|<M&#xff1b;要证明f(x)在X上无界&#xff0c;只需要找到一个数列{xn}存在于X,使f(xn) n趋于∞&#xff0c;f(xn)趋于∞ 外界函数有界&#xff0c;复合函数必有界转载于:https://ww…

康宁玻璃ct值计算公式_【钦州】CT室铅板生产厂家

【钦州】CT室铅板生产厂家石膏板等做复合层&#xff0c;整个工程下来人工费&#xff0c;造价费贵多了。而硫酸钡粉工艺造价费也走高&#xff1f;原因在于&#xff0c;它工艺本身就要考虑墙壁表面平整与否&#xff0c;干燥速度&#xff0c;气候&#xff0c;温度等诸多因素&#…

职业中专计算机基础试讲课,职业中专计算机基础教育分析

职业中专计算机基础教育分析摘要&#xff1a;职业教育是指培养面向具体的职业岗位(岗位群)所需职业能力人才的专业基础教育。而在职业教育中除了开设各专业所需的专业课程外&#xff0c;还要开设一些基础教育来充实学生的能力&#xff0c;为其就业打下坚实的基础。计算机基础教…

实例41:python

#模仿静态变量的用法。 #!/usr/bin/python -- coding: UTF-8 -- def varfunc(): var 0 print (‘var %d’ % var) var 1 if name ‘main’: for i in range(3): varfunc() 类的属性 作为类的一个属性吧 class Static: StaticVar 5 def varfunc(self): self.StaticVar…

mysqlnavicat数据库备份与恢复_Navicat如何还原MySQL数据库

Navicat作为高级数据库管理工具&#xff0c;它有着备份和还原的功能&#xff0c;可以用来备份导入的数据库或者是还原备份的数据库。前面教程给大家介绍了Navicat备份数据库的方法&#xff0c;那么如果要还原数据库&#xff0c;该如何操作呢&#xff1f;下面就一起来学习Navica…

1080i减少带宽

全高清&#xff08;Full HD&#xff09;物理分辨率达到1920*1080&#xff0c;包括1080I和1080P。以日本数字电视标准为例&#xff0c;按照显示格式的不同&#xff0c;共分为以下5种规格&#xff1a;  D1为480i格式&#xff0c;和NTSC模拟电视清晰度相同&#xff0c;525条垂直…

实例42:python

#题目&#xff1a;学习使用auto定义变量的用法。 #!/usr/bin/python -- coding: UTF-8 -- num 2 def autofunc(): num 1 print (‘internal block num %d’% num) num 1 for i in range(3): print (‘The num %d’ % num) num 1 autofunc()

福师2018计算机应用基础,中石油华东《计算机应用基础》2018年秋学期在线作业100分答案满分...

《计算机应用基础》2018年秋学期在线作业(一)共题&#xff0c;总分&#xff1a;100分 时间&#xff1a;30分0秒 答题中分一、单选题共20题&#xff0c;100分15分在Windows中&#xff0c;“写字板”和“记事本”所编辑的文档( )A均可通过剪切、复制和粘贴与其他Windows应用程序交…

实例43:python

#模仿静态变量(static)另一案例。 #!/usr/bin/python -- coding: UTF-8 -- class Num: nNum 1 def inc(self): self.nNum 1 print (‘nNum %d’ % self.nNum) if name ‘main’: nNum 2 inst Num() for i in range(3): nNum 1 print (‘The num %d’ % nNum) inst.i…

python画建筑分析图_教你用GH绘制酷炫的流线分析图

重要声明&#xff1a;这篇教程纯粹为绘图方法的介绍&#xff0c;其中的“人流数据”为YY而来的伪数据&#xff0c;没有真实性及可参考性&#xff0c;不可以作为科研方法&#xff01;请相关课题的研究者使用合理的、正确的、实际的方法采集并分析数据&#xff0c;以免出现数据造…