- 浏览: 229970 次
- 性别:
- 来自: 常州
文章分类
- 全部博客 (165)
- Java基础 (49)
- 开发工具 (3)
- Python基础 (1)
- Oracle基础 (9)
- Java 符号计算 (0)
- 计算机基本原理 (10)
- SQL (6)
- javascript (16)
- HTML (2)
- XML (4)
- 程序员之路 (7)
- JDBC (1)
- Unicode (0)
- 字符编码 (3)
- JSP基础 (2)
- Servlet&JSP (9)
- MySQL基础 (1)
- UML基础 (1)
- Hibernate (2)
- Java包 (1)
- Spring (1)
- Struts2 (9)
- 系统命令 (1)
- Tomcat (1)
- Windows (1)
- Android (1)
- C#基础 (14)
- HTML5 (1)
- .NET基础 (1)
- 数据库基础 (2)
- ASP.NET基础 (7)
- 开源Java (3)
- 趣味算法 (1)
- 面向对象思想 (1)
- 软件应用 (1)
- Web工程 (1)
- jquery (2)
- JPA (0)
- 设计模式 (0)
最新评论
-
静夜独窗:
JavaBean组件能说的具体一点吗,我感觉这样说理解的不清晰 ...
EL 表达式语言 -
静夜独窗:
在Java中,不同字符集编码的转换是通过Unicode作为中介 ...
JavaWeb中的乱码产生与解决方案
分页显示数据时常常需要将页码列出来。
此处的Page类主要关注分页显示时候的页码的显示。
一. Page类
页码类如下:
import java.util.ArrayList; import java.util.List; public class Page { private boolean hasNext; private boolean hasPer; private int curPage; private int countPage; private int showPageNum;//显示出来的页码数量 private List<Integer> pageList; public void setShowPageNum(int showPageNum) { this.showPageNum = showPageNum; } public void setHasNext(boolean hasNext) { this.hasNext = hasNext; } public void setPageList(List<Integer> pageList) { this.pageList = pageList; } public List<Integer> getPageList() { pageList=new ArrayList(); if(curPage<showPageNum){ for(int i=1;i<=(countPage>showPageNum?showPageNum:countPage);i++){ pageList.add(i); } }else{ if(curPage-(showPageNum%2==0?showPageNum/2-1:showPageNum/2)>1 && curPage+showPageNum/2<=countPage){ for(int i=curPage-(showPageNum%2==0?showPageNum/2-1:showPageNum/2);i<=curPage+showPageNum/2;i++){ pageList.add(i); } }else if(curPage+showPageNum/2>countPage){ for(int i=countPage-showPageNum+1;i<=countPage;i++){ pageList.add(i); } } } return pageList; } public boolean isHasNext() { if(curPage+1>countPage){ hasNext=false; }else{ hasNext=true; } return hasNext; } public boolean isHasPer() { if(curPage-1<=0){ hasPer=false; }else{ hasPer=true; } return hasPer; } public void setHasPer(boolean hasPer) { this.hasPer = hasPer; } public int getCurPage() { return curPage; } public void setCurPage(int curPage) { this.curPage = curPage; } public int getCountPage() { return countPage; } public void setCountPage(int countPage) { this.countPage = countPage; }
二. 实验
以下实验需要显示设置总页数为12页。
设置当前页从1~12。以此查看查看得到的需要显示的页码列表。
1. 如果显示页码数为奇数
setShowPageNum(5) 显示5个页码
如下例:
public static void main(String[] args) { Page page=new Page(); page.setCountPage(12); page.setShowPageNum(5); for(int i=1;i<=page.getCountPage();i++){ page.setCurPage(i); System.out.print("当前页为第"+i+"页:\t"); System.out.println(page.getPageList()); } }
则输出:
当前页为第1页: [1, 2, 3, 4, 5]
当前页为第2页: [1, 2, 3, 4, 5]
当前页为第3页: [1, 2, 3, 4, 5]
当前页为第4页: [1, 2, 3, 4, 5]
当前页为第5页: [3, 4, 5, 6, 7]
当前页为第6页: [4, 5, 6, 7, 8]
当前页为第7页: [5, 6, 7, 8, 9]
当前页为第8页: [6, 7, 8, 9, 10]
当前页为第9页: [7, 8, 9, 10, 11]
当前页为第10页:[8, 9, 10, 11, 12]
当前页为第11页:[8, 9, 10, 11, 12]
当前页为第12页:[8, 9, 10, 11, 12]
2. 如果显示页码数为偶数
setShowPageNum(6) 显示6个页码
如下例:
public static void main(String[] args) { Page page=new Page(); page.setCountPage(12); page.setShowPageNum(6); for(int i=1;i<=page.getCountPage();i++){ page.setCurPage(i); System.out.print("当前页为第"+i+"页:\t"); System.out.println(page.getPageList()); } }
则输出:
当前页为第1页: [1, 2, 3, 4, 5, 6]
当前页为第2页: [1, 2, 3, 4, 5, 6]
当前页为第3页: [1, 2, 3, 4, 5, 6]
当前页为第4页: [1, 2, 3, 4, 5, 6]
当前页为第5页: [1, 2, 3, 4, 5, 6]
当前页为第6页: [4, 5, 6, 7, 8, 9]
当前页为第7页: [5, 6, 7, 8, 9, 10]
当前页为第8页: [6, 7, 8, 9, 10, 11]
当前页为第9页: [7, 8, 9, 10, 11, 12]
当前页为第10页:[7, 8, 9, 10, 11, 12]
当前页为第11页:[7, 8, 9, 10, 11, 12]
当前页为第12页:[7, 8, 9, 10, 11, 12]
3. 如果需要总页数小于需要显示页码数量
setCountPage(4) 总页数为4。
setShowPageNum(6) 显示4个页码。
如下例:
public static void main(String[] args) { Page page=new Page(); page.setCountPage(4); page.setShowPageNum(6); for(int i=1;i<=page.getCountPage();i++){ page.setCurPage(i); System.out.print("当前页为第"+i+"页:\t"); System.out.println(page.getPageList()); } }
则输出:
当前页为第1页: [1, 2, 3, 4]
当前页为第2页: [1, 2, 3, 4]
当前页为第3页: [1, 2, 3, 4]
当前页为第4页: [1, 2, 3, 4]
发表评论
-
Java NIO 基础学习
2013-09-21 16:24 858零、概述 1、传统IO的问题 2、非阻塞IO ... -
try finally 与 return
2013-09-02 16:11 9001、try、catch、finally语句中,在如果try ... -
Java的传值
2013-07-21 13:06 895这个问题一直以来都有误区。本质原因是那些写书的人,喜欢用“传 ... -
Java多线程——synchronized的问题
2013-06-14 15:51 996一直以来都存在这样的问题: 多线程操作同一对象。该对象有 ... -
Java与操作系统的交互
2013-05-05 22:08 1667System类 System表示Java程序的运行平台。S ... -
java枚举
2013-04-06 15:59 847枚举,之前一直忽视了其存在。其实挺有用。 java5 ... -
Java语法细节
2013-02-03 11:19 882final关键字 final修饰的量以视为常量,当fin ... -
Java Socket 学习笔记
2013-01-29 23:42 908Socket:英文中的意思是插座。 两个Java应用程序 ... -
Java 线程同步
2013-01-27 23:17 991理解Java线程状态: ... -
Java 与 C# 计算性能比较
2012-11-02 14:51 1097程序:寻找2亿以内的最大素数,从2开始寻找。 Java程序: ... -
Java数组的操作
2012-10-12 11:23 806一、复制数组 java.lang.System类中的静态 ... -
Java容器
2012-10-09 00:33 841Java集合类就像容器。把多个对象的引用放进容器中。即集合类主 ... -
Java日期处理
2013-01-31 23:05 811不得不吐槽一下Java的日期处理。太不爽了。 基本 ... -
java:Excel
2012-09-27 09:06 1091jxl操作excel 在开源世界中,有两套比较有影响的API ... -
dom4j
2012-07-07 17:21 2191dom4j 与JDOM一样,也是一种用于解析XML文档 ... -
JDOM基础
2012-07-07 17:20 1905JDOM Java Document Object Mode ... -
线程优先级 && 后台线程 && join线程
2012-07-02 23:08 46线程优先级 每个线 ... -
Java线程的运行状态(线程的生命周期)
2012-07-02 22:56 859新建和就绪 ... -
Java多线程 Thread类 和 Runnable接口
2012-07-02 22:13 1476Java的线程,即一个Thre ... -
Java反射
2012-07-02 20:22 810编译时类型和运行时类型 Java程序中的对象在运行时都会出现 ...
相关推荐
当从数据库查出数据过多时,分页条页码太多,将多余部分进行隐藏,永远只显示固定数量的页码
ASP 分页程序 显示页码 数字 1-10 非常难得的程序 推荐 大家共享下!!!
总结了一个分页显示部分页码的方法,内容详细,非常实用哦,解决了页码多的问题
html+css实现简单分页页码效果源码,尚且没有复杂的后台,给前端新手学习之用
通用分页可以选择页码的显示样式 asp.net
仿百度分页,谷歌分页页码处理 解决分页太多,智能始终显示一部分的效果 可以依照这个思路自己改,很好上手,分页思想 都有注释
并且当页码过多时使用省略号,这篇文章有样式的简单演示:https://blog.csdn.net/u013025627/article/details/50485327 样式只是自己的简单样式,不同的项目有不同的样式风格,只是提供分页时显示页面的方法
int pagesize = 10;//每页显示记录数 int liststep = 20;//最多显示分页页数 int pages = 1;//默认显示第一页 if (request.getParameter("pages") != null) { pages = Integer.parseInt(request....//分页页码变量
此工具用于生成分页页码可以为你减少因Ajax分页后页码显示的问题。 内附使用示例。
jQuery分页插件设置分页内容显示数量的分页代码 jQuery分页插件设置分页内容显示数量的分页代码
记得以前看过一个页码方式的分页效果,页码数多了折行继续显示一直到60多页,呵呵!有点影响美观! 于是写了一个,可以自动适应范围的页码分页程序 也就是说,页码格式如下 << < 1 2 3 4 5 6 7 > >> ...
网上很多分页都是|< << ... 2 3 4 5 6 >> >|形式展现的,这段代码就实现了这种展现方式。
分页的,弄了好久,终于看到自己要的效果了。通过链接数据库选出数据,然后通过该技术,使的页面看来更整洁。
ssh实现简单分页 上一页 1 2 3 4 5 6 下一页
使用js实现打印分页的功能(包括页码,表头,表尾)
易语言文本分页显示源码,文本分页显示,初始化分页,分页消息处理,分页_刷新页码,BeginPaint,CallWindowProc,CreateCompatibleBitmap,CreateCompatibleDC,CreateFont,DeleteDC,DeleteObject,DrawText,EndPaint,GetDC,...
js分页批量打印例子并去掉页码和下面的地址
大量数据的提取,显示,不卡死界面,非常实用,拖动cxGrid垂直滚动条后,显示后续数据,不需要按钮来控制显示下一页。
本例子实现文章列表分页 显示表名 字段名 及相应内容 页显示10条页码 如[1] [2]...[10] 并显示上下页 到N页 等信息 已测试成功
10个页码效果 css划上效果 分页显示页码