`
Etwo
  • 浏览: 104658 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

SSH、JavaWeb的分页代码,封装好、直接调用,简单实用、分页API【关于之前的分页代码完善的更改】

阅读更多

关于之前实现的

SSH、JavaWeb的分页代码,封装好、直接调用,简单实用、分页API

分页代码的一个完善,当分页出现0或者负数或者大于计算出来的页数的时候,可能出现数据不能正常显示的问题。

action中仅用以下代码就能调用,servlet中可效仿此调用

		this.paging = new Paging();

		//设置当前页码
		this.paging.setCurPage(this.cur_page);
		
		//把得到总共显示的数据记录设置在分页总纪录中
		this.paging.setRowCount(userMagr.count());
		
		//设置每页显示的数据记录
		this.paging.setPageRowCount(3);
		
		//保存分页工具条
		request.setAttribute("toolBar", this.paging.getToolBar("user_list.do"));
		
		//得到每页显示数据
		this.users = userMagr.list(paging);
 

在此,特提出完善后的代码

package net.etwo.util;

public class Paging {

	/**
	 * 分页
	 * @说明:本分页采用直接获取每一页的数据
	 * @author Etwo
	 */
	
	/*
	 * 分页要素:
	 * 1、首页				first
	 * 2、最后一页			last
	 * 3、页总数				pageCount
	 * 4、总共显示的数据记录	rowCount
	 * 5、每页显示的数据记录	pageRowCount
	 * 6、当前页				curPage	
	 * 7、定义每一页的开始	start
	 * 8、定义每一页的结束	end
	 */
	
	/**
	 * 1、首页				first
	 */
	private int first;
	
	/**
	 * 2、最后一页			last
	 */
	private int last;
	
	/**
	 * 3、页总数				pageCount
	 */
	private int pageCount;
	
	/**
	 * 4、总共显示的数据记录	rowCount
	 */
	private long rowCount;
	
	/**
	 * 5、每页显示的数据记录	pageRowCount
	 */
	private int pageRowCount;
	
	/**
	 * 6、当前页				curPage	
	 */
	private int curPage;
	
	/**
	 * 7、定义每一页的开始	start
	 */
	private int start;
	
	/**
	 * 8、定义每一页的结束	end
	 */
	private int end;


	/**
	 * 计算并得出页总数
	 * @return
	 */
	public int getPageCount() {
		this.pageCount = (int)Math.ceil((double)this.getRowCount() / (double)this.getPageRowCount());
		return pageCount;
	}

	/**
	 * 得到总共显示的数据记录
	 * @return
	 */
	public long getRowCount() {
		return rowCount;
	}

	/**
	 * 设置总共显示的数据记录
	 * @param rowCount
	 */
	public void setRowCount(long rowCount) {
		this.rowCount = rowCount;
	}

	/**
	 * 得到每页显示的数据记录
	 * @return
	 */
	public int getPageRowCount() {
		return pageRowCount;
	}

	/**
	 * 设置每页显示的数据记录
	 * @param pageRowCount
	 */
	public void setPageRowCount(int pageRowCount) {
		this.pageRowCount = pageRowCount;
	}

	/**
	 * 得到当前页
	 * @return
	 */
	public int getCurPage() {
		if(curPage <= 0 ) {
			curPage = 1;
		} else if(curPage >= this.getPageCount()) {
			curPage = this.getPageCount();
		}
		return curPage;
	}

	/**
	 * 设置当前页
	 * @param curPage
	 */
	public void setCurPage(int curPage) {
		this.curPage = curPage;
	}

	/**
	 * 得到每页的开始记录数
	 * @return
	 */
	public int getStart() {
		this.start = (this.getCurPage() - 1) * this.getPageRowCount();
		return start;
	}

	/**
	 * 得到每页的结束记录数
	 * @return
	 */
	public int getEnd() {
		this.end = this.getPageRowCount();
		return end;
	}

	/**
	 * 得到首页
	 * @return
	 */
	public int getFirst() {
		this.first = 1;
		return this.first;
	}
	
	/**
	 * 得到最后一页
	 * @return
	 */
	public int getLast() {
		this.last = (int)this.getPageCount();
		return last;
	}
	
	/**
	 * 上一页
	 * @return
	 */
	public int previous() {
		return (this.getCurPage() > 1) ? this.getCurPage() - 1 : 1;
	}
	
	/**
	 * 下一页
	 * @return
	 */
	public int next() {
		return (this.getCurPage() < (int)this.getPageCount()) ? this.getCurPage() + 1 : (int)this.getPageCount();
	}
	
	/**
	 * 判断是否是首页
	 * @return
	 */
	public boolean isFirst() {
		return (this.getCurPage() == 1) ? true : false;
	}
	
	/**
	 * 判断是否是最后一页
	 * @return
	 */
	public boolean isLast() {
		return (this.getCurPage() == this.getPageCount()) ? true : false;
	}
	
	/**
	 * 客户端显示的工具条
	 */
	public String getToolBar(String url) {
        String str, temp;
        
        //用于判断url中是否存在?
        if(url.indexOf("?") == -1) {
            temp = "?";
        } else {
            temp = "&";
        }
        
        str = "<form method='post' name='frmPage' action='" + url + "'> ";
        str += "<p align='right' id='page'>";
        str += "<span style='font-size: 12px; font-weight: bold;'>";
        //判断是否是首页
        if(isFirst()) {
        	str += "首页 上一页&nbsp;";
        } else {
            str += "<a href='" + url + temp + "cur_page=" + this.getFirst() + "'>首页</a>&nbsp;";
            str += "<a href='" + url + temp + "cur_page=" + this.previous() + "'>上一页</a>&nbsp;";
        }
        //判断是否是最后一页
        if(isLast()) {
        	str += "下一页 尾页&nbsp;";
        } else {
            str += "<a href='" + url + temp + "cur_page=" + this.next() + "'>下一页</a>&nbsp;";
            str += "<a href='" + url + temp + "cur_page=" + this.getLast() + "'>尾页</a>&nbsp;";
        }
        str += "&nbsp;共<b>" + this.rowCount + "</b>条记录&nbsp;";
        str += "&nbsp;转到<select name='page' onChange=\"location='" + url + temp + "cur_page='+this.options[this.selectedIndex].value\">";
        
        for(int i = 1; i <= this.getPageCount(); i++) {
        	//判断是否是当前页,若是,则默认为选中当前页
            if(i == this.getCurPage())
                str += "<option value='" + i + "' selected>第" + i + "页</option>";
            else
                str += "<option value='" + i + "'>第" + i + "页</option>";
        }
        str += "</select></span></p></form>";
        return str;
	}
}
 
2
1
分享到:
评论
1 楼 zhaoljin 2014-06-13  
非常感谢

相关推荐

    网站分页代码封装jar包

    本项目提供了一个针对SQL Server数据库的Java代码封装,帮助开发者快速实现分页功能,避免重复编写类似的代码。 首先,我们需要理解分页的基本原理。在SQL中,我们可以使用`LIMIT`(在MySQL中)或`OFFSET`和`FETCH ...

    JavaWeb分页技术与实现(含代码)

    ### JavaWeb分页技术与实现 #### 一、引言 在JavaWeb应用程序开发中,分页技术是一项非常重要的功能,特别是在处理大量数据时。合理的分页不仅可以提高用户体验,还能有效减轻服务器负担,提高系统的响应速度。...

    javaweb分页简单分页

    在JavaWeb开发中,分页是一项常见的功能,用于处理大量数据时提高用户体验,避免一次性加载过多数据导致页面响应变慢。本教程将详细介绍如何实现一个简单的分页功能。 首先,理解分页的基本概念。分页通常包括两个...

    javaweb实现分页代码

    分页代码 action接受参数负责调用service,service调用dao查询具体的分页数据,同时将返回的数据封装到PageBean中,再返回action以PageBean。适合初学者参考。注:还包含类似动态显示条(sql数据加到十几页可以看到...

    源代码_JavaWeb实现分页查询_java_

    在Java Web开发中,分页查询是一个非常常见的需求,它能帮助用户更有效地浏览大量数据,提高用户体验。本文将深入探讨如何使用Java实现基于数据库的分页查询。 首先,理解分页查询的基本概念。分页是将大量数据分为...

    javaweb经典分页源码

    JavaWeb经典分页源码是Web开发中常见的一种技术实现,它主要用于处理大量数据的展示问题,提升用户体验。在Web应用程序中,如果一次性加载所有数据,不仅会消耗大量的服务器资源,还可能导致用户界面响应速度变慢。...

    JavaWeb实现分页查询案例

    在JavaWeb开发中,分页查询是一个非常常见的需求,它能有效地提高网页加载速度,提升用户体验。本案例通过原生的PageBean实现分页查询,采用JDBC(Java Database Connectivity)进行数据库操作,Servlet作为控制层...

    javaweb两中分页方法

    在JavaWeb开发中,分页是常见的功能,用于在大量数据中进行有效的浏览和导航。本文将详细介绍两种常用的JavaWeb分页方法:基于数据库查询的分页和基于内存的分页。 一、基于数据库查询的分页 1. SQL查询分页: ...

    javaWeb分页的实现

    在JavaWeb开发中,分页是常见的功能,用于展示大量数据时提高用户体验。它允许用户逐步浏览信息,而不是一次性加载所有内容。本示例将深入探讨如何使用MVC(Model-View-Controller)架构模式来实现JavaWeb应用程序中...

    javaweb分页

    本教程将详细讲解如何通过添加一个PageBean来实现简单的Java Web分页功能。 首先,我们需要理解分页的基本概念。分页通常涉及到两个关键参数:当前页数(currentPage)和每页显示的记录数(pageSize)。用户可以...

    JavaWeb实现简单分页

    在JavaWeb开发中,分页是一项常见的功能,它允许用户以较小的数据量浏览大量数据,提高了用户体验并减轻了服务器压力。本项目通过结合jsp、servlet和mysql数据库,实现了简单的分页功能。以下是对这个实现过程的详细...

    JavaWeb中的简单分页完整代码(推荐)

    在Java Web开发中,分页是一种常见且实用的技术,它通过将大量的数据分隔成小块,帮助用户更有效地浏览和处理信息。本文将详细介绍如何在Java Web项目中实现简单的分页功能。 首先,登录页面的创建是分页功能的前置...

    javaweb分页.zip

    在分页场景中,Servlet会接收关于分页参数(如当前页码、每页条目数)的信息,然后调用DAO进行查询。 3. **JSP(JavaServer Pages)**:JSP是用于创建动态网页的工具,它将HTML与Java代码结合,负责呈现数据。在...

    javaWeb分页和文件上传

    5. **MyBatis的分页插件**: 如MyBatis-Plus提供了便捷的分页API,只需要简单的配置即可实现分页查询。 6. **自定义分页逻辑**: 根据具体需求,也可以自己编写SQL语句,手动计算页码和总数。 **文件上传** 文件...

    前端Javaweb分页实现

    在前端JavaWeb开发中,分页是一个非常常见的需求,它能有效地管理大量数据,提高用户体验。本示例提供了一个可复用的分页代码,旨在帮助开发者快速集成到自己的项目中。下面将详细介绍如何实现前端JavaWeb的分页功能...

    ssh整合系统分页ajax

    5. 示例中的"qimo_JavaWeb"可能是一个包含示例代码的文件或项目,它可能包含了SSH整合的配置文件、Java源代码、JSP视图文件以及相关的分页、校验和Ajax实现。对于初学者来说,研究这个示例可以帮助理解如何在实际...

    javaWeb分页代码

    在JavaWeb开发中,分页是一种常见的功能,用于在大量数据中进行有效的浏览和导航。当我们需要展示数据库中的数据时,一次性加载所有记录可能会导致页面加载速度变慢,甚至消耗过多的服务器资源。因此,分页技术...

    JAVA Web分页实例代码

    在JAVA Web开发中,分页功能是常见的需求,特别是在处理大量数据时,为了提高用户体验,分页能够有效地组织和展示信息。本实例代码提供了一种实现分页的方法,旨在帮助开发者理解和应用到自己的项目中。 分页的核心...

    javaweb_分页显示数据库内容

    在这个示例代码中,提供了一个简单的 JAVA 分页方法,使用两个 Vector 对象 totalV 和 currentPageV 来存储查询的所有记录和当前页的记录。通过计算总记录数、每页显示记录数和总页数,来实现分页功能。然后,使用 ...

    javaweb ssh 聊天项目

    【标题】"javaweb ssh 聊天项目"是一个基于JavaWeb技术栈的SSH(Struts2、Spring、Hibernate)框架实现的在线聊天应用程序。这个项目旨在帮助开发者理解和掌握如何利用SSH框架来构建功能丰富的Web应用,特别是涉及到...

Global site tag (gtag.js) - Google Analytics