PageUtil ,简单的分页工具
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 ,简单的分页工具的更多相关文章
- PageUtil.java分页工具类
package com.chabansheng.util; /** * 分页工具类 * @author Administrator * */ public class PageUtil { /** * ...
- pageUtil分页工具
分页工具: https://www.cnblogs.com/ggq-insist-qiang/articles/10095603.html
- Js处理数据——前端分页工具
这几天有小伙伴讨论起了分页的相关问题,这里我也简单讲下前端如何简单便捷的利用Js(库)写出优雅,好用的分页工具. 分页是个很简单又超多接触的技术点,粗略来讲分如下两种: 真分页--每次根据页码.页大小 ...
- 用Qt写软件系列三:一个简单的系统工具(上)
导言 继上篇<用Qt写软件系列二:QIECookieViewer>之后,有一段时间没有更新博客了.这次要写的是一个简单的系统工具,需求来自一个内部项目.功能其实很简单,就是查看当前当前系统 ...
- 简单的分页存储过程,Json格式日期转换为一般日期
简单的分页存储过程 CREATE PROC Paged @pageIndex INT, @pageCount INT OUTPUT, @pageSize INT AS DECLARE @count I ...
- jquery ajax json简单的分页,模拟数据,没有封装,只显示原理
简单的分页,模拟数据,没有封装,显示原理,大家有兴趣可以自己封装,这里只是个原理过程,真正的分页也差不多是这个原理,只是请求数据不太一样,html部分: <!TOCTYPE HTML> & ...
- 只是一个用EF写的一个简单的分页方法而已
只是一个用EF写的一个简单的分页方法而已 慢慢的写吧.比如,第一步,先把所有数据查询出来吧. //第一步. public IQueryable<UserInfo> LoadPagesFor ...
- MyBatis简单的增删改查以及简单的分页查询实现
MyBatis简单的增删改查以及简单的分页查询实现 <? xml version="1.0" encoding="UTF-8"? > <!DO ...
- PHP常用之封装分页工具类
分页基本上是每个项目都会使用到的,所以呢,把它封装成一个工具类,以后直接调用就可以了(虽然TP框架的灰常强大,但是自己封一个也未尝不可.),这样既省时又省力还赚'工分'. 我封的这个分页工具类还比较完 ...
随机推荐
- JS 实现PDF文件打印
function PdfPrint() { bdhtml = window.document.body.innerHTML; sprnstr = "<!-- ...
- Hibernate 一对多查询对set的排序
Hibernate可以进行一对多的关联查询,例如:查询了试卷题目,可以自动获取试卷题目的选项对象. 但是关联出来的集合对象是无序的,那么在显示的时候就会有问题,经过百度发现可以对Set进行设置排序. ...
- 理解 Java 构造函数不可以继承
参考来源:http://www.52bowen.com/a/2604620.html
- nodejs安装node-rsa遇到的问题及解决
nodejs第一次使用,故碰到一些小白问题: 1.使用 npm install node-rsa -S 2.封装rsa import NodeRSA from 'node-rsa'; const rs ...
- WCF学习笔记(2)-WCF的通讯过程
一.WCF中的ABC 场景:公司让你送一份合同文件,送文件的过程你可以选择的交通方式有打的,地铁或公交. 到了对方公司后,你要找到某负责人,并且要一份收到合同文件的回执和相应文件 要完成这项工作任务主 ...
- MySQL与MongoDB的操作对比
MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库.它们各有各的优点,关键是看用在什么地方 ...
- 远程图形界面:VncServer与KDE桌面远程连接
强烈不建议putty+xming的工作方式,太慢了,且界面也不是特别友好. 原文:vncserver与KDE远程连接 建议:不过还是建议使用Xshell,使用 ...
- java生成excel
package test.poi; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; ...
- 基于 CentOS 搭建Seafile个人网盘
一.安装 Seafile 安装依赖环境使用 yum 安装 Python 及 MySQL: yum install python python-setuptools python-imaging pyt ...
- CAD设置水印
主要用到函数说明: _DMxDrawX::Watermark 设置控件水印图片显示,字符串用逗号隔开,分为: “文件名,透明度,x方向距离,y方向距离,是否居中”, 是否居中0代表在上角定位,1表示自 ...