js+bootstrap实现分页页码
制作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实现分页页码的更多相关文章
- js实现前端分页页码管理
用JS实现前端分页页码管理,可以很美观的区分页码显示(这也是参考大多数网站的分页页码展示),能够有很好的用户体验,这也是有业务需要就写了一下,还是新手,经验不足,欢迎指出批评! 首先先看效果图: 这是 ...
- 使用KnockoutJs+Bootstrap实现分页
[后端人员耍前端系列]KnockoutJs篇:使用KnockoutJs+Bootstrap实现分页 一.引言 由于最近公司的系统需要改版,改版的新系统我打算使用KnockoutJs来制作Web前端 ...
- Bootstrap Paginator分页插件
Bootstrap Paginator分页插件使用示例 最近做的asp.netMVC项目中需要对数据列表进行分类,这个本来就是基于bootstrap开发的后台,因此也就想着bootstrap是否有分页 ...
- datatable.js 服务端分页+fixColumns列固定
前言 记得还是15年的时候,工作需要,独自写后台管理系统..记得那时候,最让我头疼的不是后台逻辑,而是数据的列表展示. 列很多的时候,页面显示问题;分页样式问题;表格样式问题;数据加载...很多细节的 ...
- bootstrap实现分页
bootstrap分页功能 写前端都会面临的一个问题就是分页,如果是纯js分页也是可以的,只是可能代码量比较大,所以今天写一个关于用bootstrap框架分页的例子,希望以后可以帮助到一些对这方面比较 ...
- Bootstrap Paginator分页插件+ajax
Bootstrap Paginator分页插件下载地址: DownloadVisit Project in GitHub Bootstrap分页插件属性介绍: http://www.cnblogs. ...
- bootstrap table分页(前后端两种方式实现)
bootstrap table分页的两种方式: 前端分页:一次性从数据库查询所有的数据,在前端进行分页(数据量小的时候或者逻辑处理不复杂的话可以使用前端分页) 服务器分页:每次只查询当前页面加载所需要 ...
- ThinkPHP 整合Bootstrap Ajax分页
ThinkPHP Ajax分页代码 publicfunction index() { $where=array(); $name = I('name'); if(!empty($name)){ $wh ...
- Angular.js+Bootstrap实现手风琴菜单
说是Angular.js+Bootstrap实现手风琴菜单,其实就是用了Bootstrap的样式而已. 上一篇实现了表格+分页,接着学习实现的Demo. 主要练习自定义指令,向指令中传递参数,老规矩先 ...
随机推荐
- 761. Special Binary String
Special binary strings are binary strings with the following two properties: The number of 0's is eq ...
- setlocale()函数详解——C语言
setlocale函数 函数原型:char* setlocale (int category, const char* locale); setlocale位于头文件,setlocale() 函数既可 ...
- Vue 父组件ajax异步更新数据,子组件props获取不到
转载 https://blog.csdn.net/d295968572/article/details/80810349 当父组件 axjos 获取数据,子组件使用 props 接收数据时,执行 mo ...
- 详解Android中的四大组件之一:Activity详解
activity的生命周期 activity的四种状态 running:正在运行,处于活动状态,用户可以点击屏幕,是将activity处于栈顶的状态. paused:暂停,处于失去焦点的时候,处于pa ...
- [Mac]如何让两个窗口各占半个屏幕
OS X中的拆分视图El Capitan或更高版本允许您使用两个应用程序填充Mac屏幕,而无需手动移动和调整窗口大小. 进入拆分视图 按住 窗口左上角的全屏按钮 . 当您按住按钮时,窗口会缩小,您可 ...
- python中使用queue实现约瑟夫环(约瑟夫问题)求解
约瑟夫问题:是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围. 从编号为k的人开始报数,数到m的那个人出列:他的下一个人又从1开始报数,数到m的那个人又出列: 依 ...
- .NET手记-HttpClient解析GB2312乱码问题
最近为App的服务器端卸了个爬虫程序,输出结果时发现出现乱码现象,尝试使用了几个方案发现效果并不太好,最后发现了一个很简单的用法. var result = await client.GetByteA ...
- Java Web——过滤器
<Java Web开发技术应用——过滤器> 过滤器是一个程序,它先于与之相关的servlet或JSP页面运行在服务器上.过滤器可附加到一个或多个servlet或JSP页面上,并且可以检查进 ...
- Java开发技术大揭底——让你认知自己技术上的缺陷,成为架构师
一.分布式架构体系 分布式怎么来的.传统的电信.银行业,当业务量大了之后,普通服务器CPU/IO/网络到了100%,请求太慢怎么办?最直接的做法,升级硬件,反正也不缺钱,IBM小型机,大型机,采购了堆 ...
- 取消vim打开文件全是黄色方法
如下图: 取消方法: 按下esc键 :nohl 回车