制作page.jsp,在其他页码引入,只需把最外层的form标签的id设置为myForm;

其中  totalPages:共有多少页;totalElements:共有有多少条记录;currentPage:第几页

 <%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link href="${pageContext.request.contextPath}/。。。/bootstrap.css" rel="stylesheet" type="text/css">
<script src="${pageContext.request.contextPath}/。。。/jquery/1.11.1/jquery.js" type="text/javascript"></script>
<script src="${pageContext.request.contextPath}/。。。/bootstrap.js" type="text/javascript"></script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>分页页面</title>
<style type="text/css">
/*翻页*/
.jump{
margin:0px 0;
float: right;
}
.jump_text{
float:right;
margin:0 0 0 5px;
line-height:33px;
}
.jump_text input{
width:40px;
border:rgba(212,212,212,1.00) 1px solid;
height:30px;
line-height:33px;
background:#fff;}
</style>
<script type="text/javascript"> /*
* 引用此页面,只需在外面
*/ function goPage(){
var jumpPage = document.getElementById("jumpPage").value;
var totalPage = '${totalPages}';
if(isNaN(jumpPage)){
alert("请输入数字!");
return;
}else if(jumpPage.length==0){
alert("请输入页码!");
}else if(jumpPage<=0 || Number(jumpPage)>Number(totalPage)){
alert("非法的页码【"+jumpPage+"】!");
document.getElementById("jumpPage").value="";
return;
}else{
var flag = $("input[name='pageNumber']");
flag.remove();
$("#myForm").append("<input type='hidden' name='currentPage' value='"+jumpPage+"' />");
$("#myForm").submit();
}
}
function pageTo(pageNumber){
var jumpPage=1;
if(pageNumber==-1){
var curpage='${pageNumber}';
jumpPage=Number(curpage)-1;
}else if(pageNumber==-2){
var curpage='${pageNumber}';
jumpPage=Number(curpage)+1;
}else{
jumpPage=Number(pageNumber);
}
var flag = $("input[name='pageNumber']");
flag.remove();
$("#myForm").append("<input type='hidden' name='currentPage' value='"+jumpPage+"' />");
$("#myForm").submit();
}
</script>
</head>
<body>
<!-- 分页页码 -->
<div style="height: 400px;"> </div>
<hr>
<nav>
<ul class="pagination"> <!-- 上一页 -->
<!-- 当当前页码为1时,隐藏上一页按钮 -->
<li <c:if test="${currentPage==1 }">class="disabled"</c:if>>
<!-- 当当前页码不等于1时,跳转到上一页 -->
<a
<c:if test="${currentPage==1 }">href="javaScript:void(0)"</c:if>
<c:if test="${currentPage!=1 }">href="javaScript:pageTo('${currentPage-1 }')"</c:if>
>上一页</a>
</li> <!-- 页码 -->
<!-- 当总页数小于等于7时,显示页码1...7页 -->
<c:if test="${totalPages<=7}">
<c:forEach begin="1" end="${totalPages}" var="i">
<li <c:if test="${currentPage==i }">class="active"</c:if>>
<a
href="javaScript:pageTo('${i}')">${i}</a>
</li>
</c:forEach>
</c:if>
<!-- 当总页数大于7时 -->
<c:if test="${totalPages>7}">
<!-- 当前页数小于等于4时,显示1到5...最后一页 -->
<c:if test="${currentPage<=4}">
<c:forEach begin="1" end="5" var="i">
<li <c:if test="${currentPage==i }">class="active"</c:if>>
<a
href="javaScript:pageTo('${i}')">${i}</a>
</li>
</c:forEach>
<li><a href="#">...</a></li>
<li
<c:if test="${currentPage==totalPages }">class="active"</c:if>>
<a
href="javaScript:pageTo('${totalPages}')">${totalPages}</a>
</li>
</c:if>
<!-- 当前页数大于4时,如果当前页小于总页码书-3,则显示1...n-1,n,n+1...最后一页 -->
<c:if test="${currentPage>4}">
<c:if test="${currentPage<totalPages-3}">
<li><a
href="javaScript:pageTo('${1}')">${1}</a>
</li>
<li><a href="#">...</a></li>
<c:forEach begin="${currentPage-1 }" end="${currentPage+1 }"
var="i">
<li <c:if test="${currentPage==i }">class="active"</c:if>>
<a
href="javaScript:pageTo('${i}')">${i}</a>
</li>
</c:forEach>
<li><a href="#">...</a></li>
<li
<c:if test="${currentPage==totalPages }">class="active"</c:if>>
<a
href="javaScript:pageTo('${totalPages}')">${totalPages}</a>
</li>
</c:if>
</c:if>
<!-- 当前页数大于4时,如果当前页大于总页码书-4,则显示1...最后一页-3,最后一页-2,最后一页-1,最后一页 -->
<c:if test="${currentPage>totalPages-4}">
<li><a
href="javaScript:pageTo('${1}')">${1}</a>
</li> <li><a href="#">...</a></li>
<c:forEach begin="${totalPages-3 }"
end="${totalPages }" var="i">
<li <c:if test="${currentPage==i }">class="active"</c:if>>
<a
href="javaScript:pageTo('${i}')">${i}</a>
</li>
</c:forEach>
</c:if>
</c:if>
<!-- 下一页 -->
<!-- 当当前页码为最后一页或者最后一页为0时,隐藏下一页按钮
当当前页码不等于总页码时,跳转下一页 -->
<li
<c:if test="${currentPage==totalPages || totalPages==0}">class="disabled"</c:if>>
<a
<c:if test="${currentPage==totalPages || totalPages==0 }">href="javaScript:void(0)"</c:if>
<c:if test="${currentPage!=totalPages }">href="javaScript:pageTo('${currentPage+1 }')"</c:if>>下一页</a>
</li>
</ul> <!-- 跳转页 -->
<div class="jump">
<span class="jump_text">共有${totalPages }页,${totalElements }条记录,跳到
<input type="text" name="jumpPage"
id="jumpPage"
onkeyup="this.value=this.value.replace(/[^0-9-]+/,'');">页
<button type="button" class="btn btn-primary btn-xs"
onclick="goPage()">GO</button>
</span>
</div>
</nav> <div style="clear: both;"></div>
<hr>
totalPages:共有多少页;totalElements:共有有多少条记录;currentPage:第几页
</body>
</html>

展示:

js+bootstrap实现分页页码的更多相关文章

  1. js实现前端分页页码管理

    用JS实现前端分页页码管理,可以很美观的区分页码显示(这也是参考大多数网站的分页页码展示),能够有很好的用户体验,这也是有业务需要就写了一下,还是新手,经验不足,欢迎指出批评! 首先先看效果图: 这是 ...

  2. 使用KnockoutJs+Bootstrap实现分页

    [后端人员耍前端系列]KnockoutJs篇:使用KnockoutJs+Bootstrap实现分页   一.引言 由于最近公司的系统需要改版,改版的新系统我打算使用KnockoutJs来制作Web前端 ...

  3. Bootstrap Paginator分页插件

    Bootstrap Paginator分页插件使用示例 最近做的asp.netMVC项目中需要对数据列表进行分类,这个本来就是基于bootstrap开发的后台,因此也就想着bootstrap是否有分页 ...

  4. datatable.js 服务端分页+fixColumns列固定

    前言 记得还是15年的时候,工作需要,独自写后台管理系统..记得那时候,最让我头疼的不是后台逻辑,而是数据的列表展示. 列很多的时候,页面显示问题;分页样式问题;表格样式问题;数据加载...很多细节的 ...

  5. bootstrap实现分页

    bootstrap分页功能 写前端都会面临的一个问题就是分页,如果是纯js分页也是可以的,只是可能代码量比较大,所以今天写一个关于用bootstrap框架分页的例子,希望以后可以帮助到一些对这方面比较 ...

  6. Bootstrap Paginator分页插件+ajax

    Bootstrap Paginator分页插件下载地址: DownloadVisit Project in GitHub  Bootstrap分页插件属性介绍: http://www.cnblogs. ...

  7. bootstrap table分页(前后端两种方式实现)

    bootstrap table分页的两种方式: 前端分页:一次性从数据库查询所有的数据,在前端进行分页(数据量小的时候或者逻辑处理不复杂的话可以使用前端分页) 服务器分页:每次只查询当前页面加载所需要 ...

  8. ThinkPHP 整合Bootstrap Ajax分页

    ThinkPHP Ajax分页代码 publicfunction index() { $where=array(); $name = I('name'); if(!empty($name)){ $wh ...

  9. Angular.js+Bootstrap实现手风琴菜单

    说是Angular.js+Bootstrap实现手风琴菜单,其实就是用了Bootstrap的样式而已. 上一篇实现了表格+分页,接着学习实现的Demo. 主要练习自定义指令,向指令中传递参数,老规矩先 ...

随机推荐

  1. DWARF 中的 Debug Info 格式

    本周花了几天的时间来研究怎么在 breakpad [1, 2] 中加入打印函数参数的功能,以期其产生的 callstack 更具可读性,方便定位崩溃原因. 现代 ELF 中的调试信息基本是以 DWAR ...

  2. 《你不知道的javascript》读书笔记2

    概述 放假读完了<你不知道的javascript>上篇,学到了很多东西,记录下来,供以后开发时参考,相信对其他人也有用. 这篇笔记是这本书的下半部分,上半部分请见<你不知道的java ...

  3. ElasticSearch权威指南学习(映射和分析)

    概念 映射(mapping)机制用于进行字段类型确认,将每个字段匹配为一种确定的数据类型(string, number, booleans, date等).+ 分析(analysis)机制用于进行全文 ...

  4. 第四篇:断路器(Hystrix)

    一.断路器简介. 在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign来调用.为了保证 ...

  5. vue 父子组件之间传参

    父组件中有子组件 msg 为父组件向子组件传的内容,  子组件向父组件传参数 子组件:this.$emit("shownumber",[this.num]);//this.$emi ...

  6. Spring Security OAuth笔记

    因为工作需要,系统权限安全方面可能要用到Spring Security OAuth2.0,所以,近几天了解了一下OAuth相关的东西.目前好像还没有系统的学习资料,学习主要是通过博客,内容都是大同小异 ...

  7. Eureka单机高可用伪集群配置

    Eureka Server高可用集群理论上来讲,因为服务消费者本地缓存了服务提供者的地址,即使Eureka Server宕机,也不会影响服务之间的调用,但是一旦新服务上线,已经缓存在本地的服务提供者不 ...

  8. leetcode — valid-parentheses

    import java.util.Stack; /** * Source : https://oj.leetcode.com/problems/valid-parentheses/ * * Creat ...

  9. leetcode — integer-to-roman

    /** * Source : https://oj.leetcode.com/problems/integer-to-roman/ * * Created by lverpeng on 2017/7/ ...

  10. git第七节---git merge和git rebase

    # git merge和git rebase 都可以进行分支合并 #git merge 合并后保留记录两个分支的记录 #git rebase合并后会展示成一个分支的记录,另一个分支的提交实际生成了一个 ...