前言

为了复用,记载一些以前写过的工具类、方法

page类



    import java.util.List;

    /**
* Created by ozc on 2017/3/1.
*/
public class Page { //保存着分页的数据
private List<Customer> list; //总记录数
private long totalRecord; //每页显示记录数,这里我规定每页显示3条
private int linesize = 3; //总页数
private int totalPageCount; //当前显示的页数
private int currentPageCount; //开始取的记录位置
private int startIndex; //记录JSP页面开始的页数和结束的页数
private int startPage;
private int endPage; private String url; public Page() {
} public Page(int currentPageCount, long totalRecord) { //将传递进来的currentPageCount初始化
this.currentPageCount = currentPageCount; //总页数
totalPageCount = (int) (totalRecord % linesize == 0 ? totalRecord / linesize : totalRecord / linesize + 1); this.totalRecord = totalRecord; //开始取数据的位置
startIndex = (currentPageCount - 1) * linesize; //如果当前页小于10,那么开始页为1,结束页为10就行了
if (this.currentPageCount <= 10) {
this.startPage = 1;
this.endPage = 10;
} else {
this.startPage = this.currentPageCount - 4;
this.endPage = this.currentPageCount + 5; //加减后页数越界的情况
if (startPage < 1) {
this.startPage = 1;
this.endPage = 10;
}
if (endPage > totalPageCount) {
this.startPage = this.currentPageCount - 9;
this.endPage = this.totalPageCount;
}
} }
public String getUrl() {
return url;
} public void setUrl(String url) {
this.url = url;
}
public int getStartIndex() {
return startIndex;
}
public void setCurrentPageCount(int currentPageCount) {
this.currentPageCount = currentPageCount;
}
public void setStartIndex(int startIndex) {
this.startIndex = startIndex;
} public int getStartPage() {
return startPage;
} public void setStartPage(int startPage) {
this.startPage = startPage;
} public int getEndPage() {
return endPage;
} public void setEndPage(int endPage) {
this.endPage = endPage;
} public int getTotalPageCount() {
return totalPageCount;
} public void setTotalPageCount(int totalPageCount) {
this.totalPageCount = totalPageCount;
} public List<Customer> getList() {
return list;
} public void setList(List<Customer> list) {
this.list = list;
} public long getTotalRecord() {
return totalRecord;
} public void setTotalRecord(long totalRecord) {
this.totalRecord = totalRecord;
} public int getLinesize() {
return linesize;
} public void setLinesize(int linesize) {
this.linesize = linesize;
} public long getCurrentPageCount() {
return currentPageCount;
} public void setCurrentPageCount(long currentPageCount) {
this.currentPageCount = (int) currentPageCount;
}
}

显示页面JSP

<%--
Created by IntelliJ IDEA.
User: ozc
Date: 2017/3/1
Time: 21:17
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--显示当前页数--%>
当前页数是:[${page.currentPageCount}]&nbsp;&nbsp;&nbsp; <%--如果当前的页码大于1,才显示上一步--%>
<c:if test="${page.currentPageCount>1}"> <%--把传递过去的页码-1就行了--%>
<a href="${page.url}?currentPageCount=${page.currentPageCount-1}">
上一步
</a>
</c:if> <%--提供页数的界面--%>
<c:forEach var="pageNum" begin="${page.startPage}" end="${page.endPage}">
<a href="${page.url}?currentPageCount=${pageNum}">
[${pageNum}]&nbsp;
</a>
</c:forEach> <%--如果当前的页码小于总页数,才显示下一步--%>
<c:if test="${page.currentPageCount<page.totalPageCount}"> <%--把传递过去的页码-1就行了--%>
<a href="${page.url}?currentPageCount=${page.currentPageCount+1}">
下一步
</a>&nbsp;&nbsp;
</c:if> <input type="text" id="currentPageCount">
<input type="button" value="跳转" onclick="goPage()"> 总页数是:${page.totalPageCount}&nbsp;&nbsp; 总记录数是:${page.totalRecord} <script type="text/javascript"> /*既然写上了JavaScript代码了,就顺便验证输入框输入的数据是否合法吧*/
function goPage() { /*获取输入框控件*/
var input = document.getElementById("currentPageCount"); /*获取输入框的数据*/
var value = input.value; if(value==null || value==""){
alert("请输入页码");
return false;
} if(!value.match("\\d+")){
alert("请输入数字");
return false;
} if(value<1 || value>${page.totalPageCount}){
alert("请输入合法数据");
return false ;
} window.location.href="${page.url}?currentPageCount="+value;
} </script>

分页复用代码【Page类、JSP显示页面】的更多相关文章

  1. 手机网页Html代码实现(解决显示页面很小的问题)

    工作需要,要做一个手机自适应的网页效果,终于搞定,先分享并记录! 其实主要就是改掉HTML页面声明: 在网页中加入以下代码,就可以正常显示了: <meta name="viewport ...

  2. 【问题&解决】手机网页Html代码实现(解决显示页面很小的问题)

    工作需要,要做一个手机自适应的网页效果,终于搞定,先分享并记录! 其实主要就是改掉HTML页面声明: 在网页中加入以下代码,就可以正常显示了: <meta name="viewport ...

  3. 首页使用page类完成生成页面内容的大部分工作

    fs2在处理异常及资源使用安全方面也有比较大的改善.fs2 Stream可以有几种方式自行引发异常:直接以函数式方式用fail来引发异常.在纯代码里隐式引发异常或者在运算中引发异常,最开始只是我自己浏 ...

  4. JSP显示页面和数据库乱码

    页面 和 数据库编码都是UTF-8,但就是奇怪. 指定Tomcat的编码为UTF-8 就行了

  5. Ecstore后台中显示页面display,page,singlepage方法的区别?

    dispaly 显示的页面不包含框架的其他页面,只是本身的页面(使用范围:Ecstore的前端.后端). page 显示的页面包含在框架的里面(使用范围:Ecstore的前端.后端). singlep ...

  6. 问题:做EsayUI分页报错 $(...).pagination is not a function之后我把<jsp:include page="top.jsp"/>去掉就好了,有大神知道为什么吗?另外分页按键放在那里好些,我放到form表单下,就开始显示,点一下后就没有了

    <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding= ...

  7. 一个用于分页的page类

    今天周一,趁工作轻松,自己就写了一个基于MySQl数据库的分页查询,做分页,最主要的是以下几点: 一:写sql语句:比如查询某张数据表的数据,sql语句为:select * from table li ...

  8. 三行代码实现.NET MVC统计显示页面的执行时间 超简单的实现方法 分析页面执行效率

    三行代码实现.NET MVC统计显示页面的执行时间 超简单的实现方法 分析页面执行效率    博客页脚处添加了页面执行时间统计显示,如下图所示,也可以直接查看网页页脚处. 实现方法非常简单,只需三行代 ...

  9. page分页问题,根据页码获取对应页面的数据,接口调用

    添加一个log.js文件,进行接口调用. import axios from '@/libs/api.request' const MODULE_URL = '/log'; export const ...

随机推荐

  1. JavaScript之节点的创建、替换、删除、插入

    1.节点的创建 节点的创建使用document.creatElment();文本节点的创建使用document.creatTextNode();如想把<li>哈密瓜</li>添 ...

  2. let、var、const声明的区别

    前言 看了方应杭老师的一篇解释let的文章,对JavaScript中的声明有了深刻的理解,这里也就有了总结一下JavaScript中各种声明之间区别的这篇文章. JavaScript中变量声明机制 首 ...

  3. [Python] python3 文件操作:从键盘输入、打开关闭文件、读取写入文件、重命名与删除文件等

    1.从键盘输入 Python 2有两个内置的函数用于从标准输入读取数据,默认情况下来自键盘.这两个函数分别是:input()和raw_input(). Python 3中,不建议使用raw_input ...

  4. python close()是假象,真正关闭Socket的方法

    背景: 工作中自己用python写了一个tcp工具,然后用while循环一直接收消息,并且打印出来.然后正常close发现设备并没有离线,然后用了临时的规避方案,发现其实是一直阻塞在recv()接收方 ...

  5. synchronized VS Lock, wait-notify VS Condition

    最近在看Java Threads第三版,收获颇多.全英文阅读,感觉真的是爽歪歪.推荐大家都看看. 这一篇想系统的讲一讲,线程之间通信的2种模式,wait-notify 和 Condition. 先上一 ...

  6. shell 编程案例整理

    一.统计成绩文件 [zheng@localhost ~]$ cat score.txt ngsan lisi 81.5 wangwu zhangsan lisi wangwu zhangsan lis ...

  7. JEasyPoi 2.1.4 (Jeecg订制) 版本发布,Excel 和 Word 简易工具类

    JEasyPoi 2.1.4 (jeecg订制)版本发布,EasyPoi Excel 和 Word 简易工具类 easypoi 功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员 ...

  8. 【渗透课程】第二篇下-HTTP协议的请求与响应深度剖析

    [渗透课程]第二篇下-HTTP协议的请求与响应深度剖析 HTTP1.1目前支持以下7种请求方法: 常见的MIME类型如下: 第一个数字有五种可能的取值: 目录 什么是请求方法?什么是请求头? HTTP ...

  9. 每次启动懂maven项目都必须关闭javaw.exe进程

    最近几天一致在搞配置问题,今天总于解决了.下面说问题: 我发现我每次配置完maven build的goals运行,总是会出现TOMCAT绑定接口问题,我做的方法就是不断地关掉JAVAw.exe进程.但 ...

  10. html复选框

    1.添加复选框 <input type="checkbox" id="yc" name="yc" value="year&q ...