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. 主要练习自定义指令,向指令中传递参数,老规矩先 ...
随机推荐
- 笔记:Activity的启动过程
Activity的创建特点 作为四大组件之一的Activity,它不像普通java对像那样,可以new出来,然后去使用.而是调用 startActivity()这样的方式启动.那么Android系统是 ...
- MySQL体系结构和存储引擎概述
MySQL体系结构和存储引擎概述 一.定义数据库和实例 数据库: 物理操作系统文件或其他形式文件类型的集合.数据库文件可以是frm.MYD.ibd 结尾的文件. 从概念上来说,数据库是文件的集合,是 ...
- Testing - 软件测试知识梳理 - 探索性测试
定义 探索性测试(Exploratory Testing)是一种自由的软件测试风格,强调测试人员同时展开测试学习,测试设计,测试执行和测试结果评估等活动,以持续优化测试工作. 其特征有:即兴发挥,快速 ...
- onload事件
onload事件:页面加载(文本和图片)完毕的时候, onload的作用: JS加载时和html是同步加载的,如果使用元素在定义元素之前易报错: <!DOCTYPE html> <h ...
- [EXP]Apache Superset < 0.23 - Remote Code Execution
# Exploit Title: Apache Superset < 0.23 - Remote Code Execution # Date: 2018-05-17 # Exploit Auth ...
- [视频]K8飞刀 Google黑客功能教程
[视频]K8飞刀 Google黑客功能教程 链接:https://pan.baidu.com/s/1kbK5jNH8ZaddUEeQ9IwTaw 提取码:lwl6
- Webpack代理proxy配置,解决本地跨域调试问题,同时允许绑定host域名调试
Webpack代理proxy配置,解决本地跨域调试问题,同时允许绑定host域名调试 会撸码的小马 关注 2018.05.29 17:30* 字数 212 阅读 1488评论 0喜欢 2 接到上一章, ...
- [NOIP模拟赛] 序列
Description 给定一个1~n的排列x,每次你可以将x1~xi翻转.你需要求出将序列变为升序的最小操作次数.有多组数据. Input 第一行一个整数t表示数据组数. 每组数据第一行一个整数n, ...
- C# DataGridview控件自动下拉到最后一行
有时候使用DataGridView难免会在最后插入一条数据,如果插入的数据超过滚动条显示的行数,那么默认情况下不会显示到最后一行.增加以下代码一直将滚动条拉倒最低. ;
- welcome-file-list修改后不生效
用别的浏览器重新尝试一下,或者清缓存.我就是这样解决的.值得注意的就是,<welcome-file>里面指定的文件可以是.do或者是action.