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,一经查实,立即删除!

相关文章

实例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 下面给大家详细介绍它的使用&…

实例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’’)

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

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

实例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()

实例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…

mac使用Shell(终端)SSH连接远程服务器

前提&#xff1a;要有你需要连接的服务器的ip&#xff0c;端口号&#xff0c;服务器上的账户和密码1、首先打开终端&#xff0c;然后输入sudo su - 回车进入根目录2、然后输入&#xff1a;ssh -p 端口号 服务器用户名ip &#xff08;例如ssh -p 22 userkunyu119.29.37.63&#…

手机钢琴软件测试自学,手机钢琴app哪个好_自学钢琴软件哪个好_安卓钢琴软件哪个好...

核心提示&#xff1a;手机钢琴的软件有很多,哪些手机钢琴软件是我们想要的呢,下面多特小编就跟您推荐几款比较合适的软件或者app给您参考手机钢琴的软件有很多,哪些手机钢琴软件是我们想要的呢,下面多特小编就跟您推荐几款比较合适的软件或者app给您参考手机上模拟钢琴app是一款…

实例44:python

#两个 3 行 3 列的矩阵&#xff0c;实现其对应位置的数据相加&#xff0c;并返回一个新矩阵&#xff1a; #X [[12,7,3], [4 ,5,6], [7 ,8,9]] #Y [[5,8,1], [6,7,3], [4,5,9]] #!/usr/bin/python -- coding: UTF-8 -- x [[12,7,3], [4,5,6], [7,8,9]] y [[5,8,1]…

SQLServer之创建非聚集索引

开始之前 典型实现 可以通过下列方法实现非聚集索引&#xff1a; UNIQUE 约束 在创建 UNIQUE 约束时&#xff0c;默认情况下将创建唯一非聚集索引&#xff0c;以便强制 UNIQUE 约束。 如果不存在该表的聚集索引&#xff0c;则可以指定唯一聚集索引。 有关详细信息&#xff0c;请…

outlook2013邮箱找不到服务器,outlook发邮件总提示找不到

2004-11-09无法连接到服务器。 帐户: pop3.sina.com.cn, 服务器: pop3.sina.com.cn, 协议: POP3, 端口: 110, 安全(SSL): 否, 套接字错误: 10060, 错误号: 0x800CCC0E0x800CCC0E 联机到服务器失败&#xff0c;无法与主机建立联机。等一段时间再试。或者用ping 等网络命令测试一…

实例45:python

#累计求和 #!/usr/bin/python -- coding: UTF-8 -- tmp 0 for i in range(1,101): tmp i print (‘The sum is %d’ % tmp)

迁移学习综述

参考论文&#xff1a;A Survey on Transfer Learning 1、Introduction 在机器学习和数据挖掘中有一个很普遍的假设就是训练数据和测试数据来源于统一特征空间并服从相同的分布。而当测试数据分布发生改变之后&#xff0c;我们又不得不从新收集同分布的训练数据并从新训练模型。…

实例46:python

#题目&#xff1a;求输入数字的平方&#xff0c;如果平方运算后小于 50 则退出。 #!/usr/bin/python -- coding: UTF-8 -- TRUE 1 FALSE 0 def SQ(x): return x * x print (‘如果输入的数字小于 50&#xff0c;程序将停止运行。’) again 1 while again: num int(input…

常见笔顺错误的字_最全汉字书写笔顺规则

最全汉字书写笔顺规则汉字笔画名称汉字书写顺序一个字先写哪一笔&#xff0c;后写哪一笔&#xff0c;叫做笔顺。汉字的笔顺有一定规律&#xff0c;一般如下&#xff1a;常见的笔画笔顺易错字&#xff1b;"忄" 先写点和点&#xff0c;最后写竖。"匕" 先写撇…

ajax时间控件,带有ajax的JQuery中的插件datetimepicker出错

我尝试这样做,禁用所有日期并启用我通过参数传递的日期这段代码不起作用$.ajax({method: "GET",url: "url",}).success(function(msg) {console.log(JSON.parse(msg));var disableIni JSON.parse(msg);var disable [];for (var i 0; i < disableIni.…

实例47:python

#题目&#xff1a;两个变量值互换。 encoding:utf-8 ‘’’ 三种简单的变量交换方法——参数法&#xff1b;相互运算法&#xff1b;字符拼剪法 ‘’’ def shuru(): a input(‘请输入a的值’) b input(“请输入b的值”) return a, b def change1(a, b):#加入第三变量 t …

ajax 批量上传图片插件,TinyMCE多图片批量上传(Ajax)教程

需要用上插件&#xff1a;axupimgs插件作者&#xff1a;莫若卿支持版本&#xff1a;5.0.4支持语言&#xff1a;仅中文插件版本&#xff1a;1.6一、axupimgs 插件作用&#xff1a;这是一个tinymce多图片批量上传插件&#xff0c;支持拖拽文件添加&#xff0c;拖拽支持白名单&…

实例48:python

#题目&#xff1a;数字比较。 #!/usr/bin/env python -- coding:utf-8 -- def compare(num1, num2): if num1 > num2: print("%s大于%s" % (num1, num2)) elif num2 > num1: print("%s大于%s" % (num2, num1)) else: print("%s等于%s" %…