`
jaychaoqun
  • 浏览: 30235 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类

java 分页类

阅读更多

 java pojo..

package com.xyx.common;

import java.util.List;

/**
 * 分页
 * @author jaychaoqun
 *
 */
public class Pager {

	private int total_page;		//总页数
	private int total_count;	//总记录数
	private int current_page;	//当前页
	private int page_size;		//每页的数量
	private int first_page;
	private int pre_page;
	private int next_page;
	private int last_page;
	private boolean is_first;
	private boolean is_last;
	private List list;
	
	public List getList() {
		return list;
	}
	public void setList(List list) {
		this.list = list;
	}
	public int getTotal_page() {
		return total_page;
	}
	public void setTotal_page(int total_page) {
		this.total_page = total_page;
	}
	public int getTotal_count() {
		return total_count;
	}
	public void setTotal_count(int total_count) {
		this.total_count = total_count;
	}
	public int getCurrent_page() {
		return current_page;
	}
	public void setCurrent_page(int current_page) {
		this.current_page = current_page;
	}
	public int getPage_size() {
		return page_size;
	}
	public void setPage_size(int page_size) {
		this.page_size = page_size;
	}
	public int getFirst_page() {
		return first_page;
	}
	public void setFirst_page(int first_page) {
		this.first_page = first_page;
	}
	public int getPre_page() {
		return pre_page;
	}
	public void setPre_page(int pre_page) {
		this.pre_page = pre_page;
	}
	public int getNext_page() {
		return next_page;
	}
	public void setNext_page(int next_page) {
		this.next_page = next_page;
	}
	public int getLast_page() {
		return last_page;
	}
	public void setLast_page(int last_page) {
		this.last_page = last_page;
	}
	public boolean isIs_first() {
		return is_first;
	}
	public void setIs_first(boolean is_first) {
		this.is_first = is_first;
	}
	public boolean isIs_last() {
		return is_last;
	}
	public void setIs_last(boolean is_last) {
		this.is_last = is_last;
	}
	
	/**
	 * 分页处理
	 * @param current_page 当前页
	 * @param page_size 每页的数量
	 * @param total_count 总记录数
	 */
	public void paging(int current_page, int page_size, int total_count){
		this.current_page = current_page;
		this.page_size = page_size;
		this.total_count = total_count;
		
		if(current_page < 1){
			this.current_page = 1;
		}
		
		this.total_page = (this.total_count + page_size - 1)/page_size;
		this.first_page =1;
		this.last_page = total_page;
		
		if(this.current_page > 1){
			this.pre_page = this.current_page - 1;
		}else{
			this.pre_page = 1;
		}
		
		if(this.current_page < total_page){
			this.next_page = this.current_page + 1; 
		}else{
			this.next_page = total_page;
		}
		
		if(this.current_page <= 1){
			this.is_first = true;
		}else{
			this.is_first = false;
		}
		
		if(this.current_page >= total_page){
			this.is_last = true;
		}else{
			this.is_last = false;
		}
	}
	
}

 

数据访问dao,,使用分类类

/**
	 * pager query
	 * @param current_page
	 * @param page_size
	 * @return
	 */
	public Pager getStuList(int current_page,int page_size){
		Pager pager = new Pager();
		Session se = HibernateSessionFactory.getSession();
		int total_count = Integer.parseInt(se.createSQLQuery("select count(*) from t_student")
							.list()
							.get(0)
							.toString()
						);
		List list = se.createQuery("from Student")
		  .setMaxResults(page_size)
		  .setFirstResult((current_page-1)*page_size)
		  .list();
		pager.paging(current_page, page_size, total_count);
		pager.setList(list);
		HibernateSessionFactory.closeSession();
		return pager;
	}

 

这个dao方法返回一个分页对象,在action可以把分页对象射在request里,

public String stuInfoList() throws Exception{
		StudentDao dao = new StudentDao();
		Pager pager = dao.getStuInfoList(current_page, 10,class_id,ids);
		ServletActionContext.getRequest().setAttribute("pager", pager);
		return "stuInfoList";
	}

 

jsp显示:

				总数:[${requestScope.pager.total_count}]&nbsp;
				    当前页数:[${requestScope.pager.current_page}/${requestScope.pager.total_page}]&nbsp;
				    <s:if test="#request.pager.is_first == false">
					<a href="student!stuList.action?current_page=${requestScope.pager.first_page}">第一页</a> 
					<a href="student!stuList.action?current_page=${requestScope.pager.pre_page}">上一页</a>
					</s:if>
					<s:if test="#request.pager.is_last == false">
					<a href="student!stuList.action?current_page=${requestScope.pager.next_page}">下一页</a>
					<a href="student!stuList.action?current_page=${requestScope.pager.last_page}">最后一页&nbsp;</a>
					</s:if>

 

 

分享到:
评论

相关推荐

    经典的java分页类

    经典的java分页类,快来下载吧!!!!!

    最强大的JAVA分页类

    简述 此包可根据需要不同设置 在线分页 与 离线分页 使用在线分页 办法 直接调用 public List showPage(int pageSize,int page,ArrayList&lt;Object&gt; list) 方法即可。 使用离线分页 办法 调用 public boolean ...

    Java分页类定义和使用

    ### Java分页类定义与使用详解 #### 一、引言 在Web应用程序开发中,尤其是在前后端分离架构中,为了提升用户体验并减轻服务器压力,数据分页是一种非常常见的技术手段。通过合理地将大量数据分批加载到前端,不仅...

    java分页大全 包括最强大的java分页类

    强大的分页类通常会考虑更多的实际需求,比如排序、过滤条件、统计信息等,并且可能具有高度可配置性,以适应不同的项目需求。 最后,"分页.rar"可能包含的是一个独立的分页解决方案,可能具有特定的优化或特性。...

    java分页工具类

    page.java java分页工具类

    Java公用分页类 Java公用分页类

    Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类

    简单的JAVA分页类

    一个简单的分页类 计算 首页 下页 上页 尾页

    java分页类封装

    跟我上面的java底层简易封装配套的。有需要的也可以学习下。

    一个java类 能够简单分页类

    就一个java类 调用一个方法就实现分页效果 能够简单实现分页

    分页 jsp 分页类 java

    这里我们主要关注后端的Java分页类实现。 首先,我们需要创建一个分页类,这个类将包含关于分页的基本信息,如当前页、总页数、每页显示的记录数以及总记录数等。以下是一个简单的分页类的示例: ```java public ...

    struts java分页类

    只需要在控制器中 判断参数 可以在类中 增加函数 添加功能

    java 分页工具类 java 分页工具类

    java 分页工具类 java 分页工具类java 分页工具类 java 分页工具类java 分页工具类 java 分页工具类java 分页工具类 java 分页工具类

    java最简单的分页和pagination分页

    例如,一个简单的Java分页代码可能会如下所示: ```java int currentPage = 1; int pageSize = 10; int offset = (currentPage - 1) * pageSize; String sql = "SELECT * FROM table LIMIT :offset, :pageSize"; ...

    java动态分页类

    Java动态分页类是Web开发中常用的一种技术,主要用于处理大量数据时的显示问题,以提高用户体验和系统性能。在数据库查询中,一次性加载所有数据可能会导致内存压力过大,特别是对于大数据量的表。因此,分页技术...

    java 封装完整的分页类

    总结一下,封装Java分页类的主要步骤包括: 1. 定义分页类,包括基本属性如当前页、每页大小、总记录数和总页数。 2. 添加计算总页数的方法。 3. 创建构建分页SQL的方法。 4. 在JSP页面中实例化分页类,使用其方法...

    java分页代码完整版

    本资源提供了一个完整的Java分页代码实现,包括注释,非常适合初学者学习和实践。 分页的核心原理是通过查询数据库时限制返回结果的数量,同时提供一个偏移量来指定从哪一条数据开始获取。在Java中,我们可以使用...

    java分页工具类(非常实用)

    "java分页工具类" Java分页工具类是Java语言中的一种常用工具类,用于实现分页功能。下面是该工具类的详细知识点: 1. 分页工具类的作用 分页工具类的主要作用是将大量数据分页显示,以便用户更方便地浏览和操作...

    JAVA分页大全.txt

    根据提供的文件信息,我们可以深入探讨Java分页技术的相关知识点,特别是Struts框架中的分页实现。下面将详细介绍分页的基本概念、Struts框架中的分页处理方式以及如何使用自定义的`PageController`类来实现分页功能...

Global site tag (gtag.js) - Google Analytics