public class PageUtil {
private int totalCount;//总数
private int pageSize=10;//每页显示数量
private int currpageNum;//当前页
private int pageCount;//总页数
private int prePage;//上一页
private int nextPage;//下一页
private boolean hasPrePage;//是否有上一页
private boolean hasNextPage;//是否有下一页
private int firstPage;//第一页
private int lastPage;//最后一页
private int currentcount;//当前从第多少条数据开始显示 public PageUtil() { }
public PageUtil(int totalCount,int pageNum){
this.totalCount =totalCount;
this.currpageNum=pageNum;
this.pageCount = (int) Math.ceil(1.0*totalCount/pageSize);
this.currentcount =(pageCount-1)*pageSize;
if(pageNum>1){ //判断是不是第一页
/*--不是第一页 则有上一页 ,也有第一页--*/
hasPrePage=true;
prePage = pageNum-1;
firstPage =1;
}
if(pageNum<pageCount){//判断是不是最后一页
/*--不是最后一页 则有上一页 ,也有最后一页--*/
hasNextPage=true;
nextPage=pageNum+1;
lastPage=pageCount;
}
}
public int getTotalCount() {
return totalCount;
}
public void setTotalCount(int totalCount) {
this.pageCount = (int) Math.ceil(1.0*totalCount/pageSize);
if(this.currpageNum < 1)
{
this.currpageNum = 1 ;
}
this.currentcount =(currpageNum-1)*pageSize;
if(currpageNum>1){ //判断是不是第一页
/*--不是第一页 则有上一页 ,也有第一页--*/
hasPrePage=true;
prePage = currpageNum-1;
firstPage =1;
}
if(currpageNum<pageCount){//判断是不是最后一页
/*--不是最后一页 则有上一页 ,也有最后一页--*/
hasNextPage=true;
nextPage=currpageNum+1;
lastPage=pageCount;
}
this.totalCount = totalCount;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getPrePage() {
return prePage;
}
public void setPrePage(int prePage) {
this.prePage = prePage;
}
public int getNextPage() {
return nextPage;
}
public void setNextPage(int nextPage) {
this.nextPage = nextPage;
}
public boolean isHasPrePage() {
return hasPrePage;
}
public void setHasPrePage(boolean hasPrePage) {
this.hasPrePage = hasPrePage;
}
public boolean isHasNextPage() {
return hasNextPage;
}
public void setHasNextPage(boolean hasNextPage) {
this.hasNextPage = hasNextPage;
}
public int getFirstPage() {
return firstPage;
}
public void setFirstPage(int firstPage) {
this.firstPage = firstPage;
}
public int getLastPage() {
return lastPage;
}
public void setLastPage(int lastPage) {
this.lastPage = lastPage;
} public int getCurrpageNum() {
return currpageNum;
}
public void setCurrpageNum(int currpageNum) {
this.currpageNum = currpageNum;
}
public int getPageCount() {
return pageCount;
}
public void setPageCount(int pageCount) {
this.pageCount = pageCount;
}
public int getCurrentcount() {
return currentcount;
}
public void setCurrentcount(int currentcount) {
this.currentcount = currentcount;
} }

说明:

 构造函数:  一个是无参的  一个是有参的;  不论使用哪个都需要先创建(new)对象, 当然也可以设置静态类;

无参构造函数:

  使用无参构造函数 ,只需要从数据库中查询到 数据的总条数 count(*),调用pageutil.setTotalCount("总的数据条数"), 就可以进行分页了; 默认每页10条数据

有参构造函数:

   使用有参构造函数 ,只需要从数据库中查询到 数据的总条数 count(*),并且传入要每页分多少条数据,初始化对象, 就可以进行分页了;

一般通过request.attribute("pageUtil",pageUtil),就可以在JSP页面进行分页

PageUtil ,简单的分页工具的更多相关文章

  1. PageUtil.java分页工具类

    package com.chabansheng.util; /** * 分页工具类 * @author Administrator * */ public class PageUtil { /** * ...

  2. pageUtil分页工具

    分页工具: https://www.cnblogs.com/ggq-insist-qiang/articles/10095603.html

  3. Js处理数据——前端分页工具

    这几天有小伙伴讨论起了分页的相关问题,这里我也简单讲下前端如何简单便捷的利用Js(库)写出优雅,好用的分页工具. 分页是个很简单又超多接触的技术点,粗略来讲分如下两种: 真分页--每次根据页码.页大小 ...

  4. 用Qt写软件系列三:一个简单的系统工具(上)

    导言 继上篇<用Qt写软件系列二:QIECookieViewer>之后,有一段时间没有更新博客了.这次要写的是一个简单的系统工具,需求来自一个内部项目.功能其实很简单,就是查看当前当前系统 ...

  5. 简单的分页存储过程,Json格式日期转换为一般日期

    简单的分页存储过程 CREATE PROC Paged @pageIndex INT, @pageCount INT OUTPUT, @pageSize INT AS DECLARE @count I ...

  6. jquery ajax json简单的分页,模拟数据,没有封装,只显示原理

    简单的分页,模拟数据,没有封装,显示原理,大家有兴趣可以自己封装,这里只是个原理过程,真正的分页也差不多是这个原理,只是请求数据不太一样,html部分: <!TOCTYPE HTML> & ...

  7. 只是一个用EF写的一个简单的分页方法而已

    只是一个用EF写的一个简单的分页方法而已 慢慢的写吧.比如,第一步,先把所有数据查询出来吧. //第一步. public IQueryable<UserInfo> LoadPagesFor ...

  8. MyBatis简单的增删改查以及简单的分页查询实现

    MyBatis简单的增删改查以及简单的分页查询实现 <? xml version="1.0" encoding="UTF-8"? > <!DO ...

  9. PHP常用之封装分页工具类

    分页基本上是每个项目都会使用到的,所以呢,把它封装成一个工具类,以后直接调用就可以了(虽然TP框架的灰常强大,但是自己封一个也未尝不可.),这样既省时又省力还赚'工分'. 我封的这个分页工具类还比较完 ...

随机推荐

  1. ASP.NET MVC 导出CSV文件

    ASP.NET MVC   导出CSV文件.直接贴代码 /// <summary> /// ASP.NET MVC导出CSV文件Demo1 /// </summary> /// ...

  2. Android 性能优化(24)*性能工具之「Traceview,dmtracedump」Profiling with Traceview and dmtracedump :记录并查看函数调用栈*

    Profiling with Traceview and dmtracedump In this document Traceview Layout         Traceview工具界面介绍 T ...

  3. Java常见问题总结(二)

    1.配置完Java环境变量之后,仍然不能使用java命令. 解决方法: 如果是Windows10系统出现此问题,是因为个别Windows10系统不识别“JAVA_HOME”环境变量,将path中所有的 ...

  4. 联想 S5【K520】免解锁BL 免rec 保留数据 Magisk Xposed 救砖 ROOT ZUI 3.7.490

    >>>重点介绍<<< 第一:本刷机包可卡刷可线刷,刷机包比较大的原因是采用同时兼容卡刷和线刷的格式,所以比较大第二:[卡刷方法]卡刷不要解压刷机包,直接传入手机后用 ...

  5. 解决:未能加载文件或程序集“System.Web.Http, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)

    今天发布web API,调用接口报错了:未能加载文件或程序集“System.Web.Http, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31b ...

  6. 配置服务器 Ubuntu 记录+踩坑

    从零开始配置服务器用于ss+站点 1. SS 首先安装pyenv,安装pyenv之前先安装必要环境,具体命令行请见: https://github.com/pyenv/pyenv/wiki/Commo ...

  7. 判断excel是否包含隐藏sheet

    Workbook workbook =new XSSFWorkbook("D:\\文档1.xlsx"); System.out.println(workbook.isSheetHi ...

  8. 部署bugzilla(bugzilla+apache+mysql+linux)

    工作原因,需要部署bugzilla.在此,容我新造个轮子.官方轮子:https://bugzilla.readthedocs.org/en/latest/installing/quick-start. ...

  9. 梦想CAD控件图层COM接口知识点

    梦想CAD控件图层COM接口知识点 一.新建图层 主要用到函数说明: _DMxDrawX::AddLayer 增加新的图层.详细说明如下: 参数 说明 BSTR pszName 图层名 c#中实现代码 ...

  10. Java基础(一)--操作符

    Java底层都是使用操作符来操作Java中的数据 常见的操作符:+.-.*./.= 优先级: 当一个表达式存在多个操作符时,操作符的优先级决定了计算顺序,这点在我们刚开始学习数学的时候就会了解到 如果 ...