`

关于分页显示的页码

 
阅读更多

分页显示数据时常常需要将页码列出来。

此处的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]


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Bootstrap分页条页码过多隐藏部分页码

    当从数据库查出数据过多时,分页条页码太多,将多余部分进行隐藏,永远只显示固定数量的页码

    ASP 分页程序 显示页码 数字 1-10

    在本场景中,我们讨论的是一个特定的ASP分页程序,它能够显示页码,范围从数字1到10。这样的功能在处理大量数据时非常有用,因为它允许用户按需浏览网页内容,而不是一次性加载所有数据,从而提高用户体验和网站性能...

    html+css实现简单分页页码效果

    html+css实现简单分页页码效果源码,尚且没有复杂的后台,给前端新手学习之用

    分页效果,只显示部分页码

    总结了一个分页显示部分页码的方法,内容详细,非常实用哦,解决了页码多的问题

    通用分页可以选择页码的显示样式

    3. **生成页码显示**:根据当前页码、总页数等信息生成分页显示的HTML代码。 4. **返回数据表**:返回当前页的数据子集。 #### 示例用法 1. **初始化Pageing实例**: ```csharp Pageing pager = new Pageing(); ...

    jsp仿百度、谷歌分页解决分页太多,始终显示一部分的页码

    3. **判断当前页的位置**:如果当前页位于显示页码范围的中间,那么保持不变;否则,调整页码范围使其包含当前页。 4. **生成分页元素**:使用JavaScript或jQuery动态创建页码元素,根据计算出的页码范围填充HTML。...

    ssh实现简单分页带页码显示

    在本场景中,"ssh实现简单分页带页码显示"是指利用SSH框架来实现Web应用中的分页功能,并在用户界面展示页码,让用户能够方便地浏览大量数据。分页在很多情况下都是必要的,比如论坛、电商网站的商品列表等,它能...

    jQuery分页插件页码跳转代码.zip

    1. **页码显示**:根据总页数和当前页数生成可点击的页码列表,例如“首页”、“上一页”、“下一页”、“末页”以及中间的数字页码。 2. **页码跳转**:用户点击页码或导航按钮时,插件会更新当前页面,并向后端...

    分页显示包含页码链接和上下翻页

    在网页开发中,分页显示是一项常见的功能,它允许用户浏览大量数据时,一次只加载一部分内容,提高页面加载速度并提升用户体验。本示例中,我们看到了一个使用VBScript和ADO(ActiveX Data Objects)实现的ASP(Active ...

    C#DataGridView分页显示功能实现

    当数据量较大时,一次性加载所有数据可能导致性能问题,因此需要实现分页显示功能。本篇文章将详细讲解如何在C# WinForm应用中实现`DataGridView`的分页功能。 首先,我们需要了解`DataGridView`的基本用法。`...

    使用Bootstrap实现分页,并且当页码过多时使用省略号

    并且当页码过多时使用省略号,这篇文章有样式的简单演示:https://blog.csdn.net/u013025627/article/details/50485327 样式只是自己的简单样式,不同的项目有不同的样式风格,只是提供分页时显示页面的方法

    JQuery实现Ajax分页后自动生成页码工具

    分页导航通常包含“上一页”、“下一页”和页码按钮,用户可以通过这些元素切换显示的数据块。在Ajax分页中,我们不再依赖页面刷新来切换页面,而是通过发送Ajax请求获取指定页的数据。 `jQuery`是一个广泛使用的...

    javascript分页(页码生成)

    分页的基本思想是将数据集分成多个小的部分,每次只显示其中的一部分,通过用户交互(如点击页码)来切换显示不同的部分。在JavaScript中,我们可以通过动态修改DOM元素的`display`属性来控制哪些数据被显示,从而...

    仿BAIDU & GOOGLE 分页页码显示格式

    int pagesize = 10;//每页显示记录数 int liststep = 20;//最多显示分页页数 int pages = 1;//默认显示第一页 if (request.getParameter("pages") != null) { pages = Integer.parseInt(request....//分页页码变量

    PHP自动适应范围的页码分页程序

    在浏览具有大量数据的网页时(如论坛、博客等),传统的分页显示可能会导致页码过多,不仅占用页面空间,还会影响美观度。因此,设计一个能够根据当前页码自动调整显示范围的分页功能显得尤为重要。本程序的目标就是...

    仿网页分页页码

    "仿网页分页页码"这个主题,主要涉及到如何在网页中实现类似百度、淘宝等大型网站的分页效果,让用户可以轻松浏览大量数据而不会感到压力。 首先,我们要理解分页的基本概念。分页通常由页码、上一页、下一页、跳转...

    jQuery分页插件设置分页内容显示数量的分页代码

    本篇文章将详细讲解如何使用jQuery分页插件来设置分页内容显示的数量。 首先,我们需要选择一个适合的jQuery分页插件。有许多开源的选项可供选择,例如jQuery Pagination Plugin、jQuery UI Paginator、Bootstrap-...

    分页部分 页码展现 翻页

    网上很多分页都是|&lt; &lt;&lt; ... 2 3 4 5 6 &gt;&gt; &gt;|形式展现的,这段代码就实现了这种展现方式。

    分页显示数据技术

    在IT行业中,分页显示数据是一项非常常见的技术,特别是在网页应用和大数据展示中。它能够有效地管理和呈现大量的信息,提高用户界面的响应速度,减轻服务器的负担,同时提供更好的用户体验。下面将详细介绍分页显示...

Global site tag (gtag.js) - Google Analytics