`
wzf7065
  • 浏览: 249256 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

分页的实现

 
阅读更多

js部分

/***************************************************************
* 点击 首页或上一页 时判断是否能够执行,如果已经是 首页,就提示"已经是首页!"
* 参数: nowPage: 当前的页面
* 返回: true : 还不是第一页,可以跳转到 首页
*       false: 已经是第一页,不需要跳转到 首页
*****************************************************************/
function onClickPrevPage(nowPage){
    var k_now_page = parseInt(nowPage,10);
    if( k_now_page <= 1 ){
        alert("已经是首页!");
        return false;
    }else{
        return true;
    }
}

/***************************************************************
* 点击 尾页或下一页 时判断是否能够执行,如果已经是 尾页,就提示"已经是最后一页!"
* 参数: nowPage: 当前的页面
* 参数: maxPage: 最大的页面
* 返回: true : 还不是最后一页,可以跳转到 尾页
*       false: 已经是最后一页,不需要跳转到 尾页
*****************************************************************/
function onClickNextPage(nowPage,maxPage){
    var k_now_page = parseInt(nowPage,10);
    var j_max_page = parseInt(maxPage,10);
    if(k_now_page >= j_max_page){
        alert("已经是最后一页!");
        return false;
    }else{
        return true;
    }
}

/***************************************************************
* 点击 跳转 时判断是否能够执行
* 参数: goPage: 要到的页面
* 参数: nowPage: 当前的页面
* 参数: maxPage: 最大的页面
* 返回: true : 能够执行
*       false: 不能够执行
*****************************************************************/
function onClickGoPage(goPage,nowPage,maxPage){
    if( !isPInt(goPage) ){
        alert("请输入有效的页数!");
        return false;
    }
    var i_go_page  = parseInt(goPage,10);
    var k_now_page = parseInt(nowPage,10);
    var j_max_page = parseInt(maxPage,10);

    if( i_go_page <= 0 ){
        alert("请输入有效的页数!");
        return false;
    }

    //==点击跳转
    if( i_go_page == k_now_page){
        alert("您正在浏览第 "+ i_go_page +" 页!");
        return false;
    }

    //==点击跳转
    if( i_go_page < 1 || i_go_page > j_max_page ){
        alert("可浏览的页数范围为 1 ~ "+ j_max_page +" 页!请输入有效的页数!");
        return false;
    }
    return true;
}

/***************************************************************
* 判断用户要浏览的是否就是当前页, 是否是 第一页和最后一页
* 如果已经是 尾页,就提示"已经是最后一页!"
* 如果已经是 首页,就提示"已经是首页!"
* 参数: goPage: 要浏览的页面
* 参数: nowPage: 当前的页面
* 参数: maxPage: 最大的页面
* 参数: clickFlag: 操作动作的标记,1 = 首页 , 2 = 上一页 , 3 = 下一页 , 4 = 尾页 , 5 = 跳转
* 返回: true : 可以访问要浏览的页面
*       false: 要浏览的页面就是当前页或已经是第一页或最后一页
*****************************************************************/
function checkGoPage(goPage,nowPage,maxPage,clickFlag){
    if( !isPInt(goPage) ){
        alert("请输入有效的页数!");
        return false;
    }
    var i_go_page = parseInt(goPage,10);
    var k_now_page = parseInt(nowPage,10);
    var j_max_page = parseInt(maxPage,10);
    if( j_max_page == 0){
        alert("没有可以显示的记录!");
        return false;
    }

    /**
     * 判断是否正整数
     * @str 要判断的数据
     */
    function isPInt(str) {
	    var g = /^[1-9]*[1-9][0-9]*$/;
	    return g.test(str);
	}
/*
    if( j_max_page == 1){
        alert("显示记录只有 1 页。您正在浏览第 1 页!");
        return false;
    }
*/
    if(clickFlag == 1 || clickFlag == 2){ if(!onClickPrevPage(nowPage)) return false; }
    if(clickFlag == 3 || clickFlag == 4){ if(!onClickNextPage(nowPage,maxPage)) return false; }
    if(clickFlag == 5){ if(!onClickGoPage(goPage,nowPage,maxPage)) return false; }
    return true;
}

 

html部分

<tr class="TableRowEven">
        <td height="19" colspan="9" align="right" valign="top">
        共${pager.totalCount }条 第${pager.currentPage}/${pager.totalPage}页
        <a href="#" onclick="javascrpit:gotopage(1,${pager.currentPage},${pager.totalPage},1);">首页</a>
        <a href="#" onclick="javascrpit:gotopage(${pager.prePage},${pager.currentPage},${pager.totalPage},2);">上页</a>
        <a href="#" onclick="javascrpit:gotopage(${pager.nextPage},${pager.currentPage},${pager.totalPage},3);">下页</a>
        <a href="#" onclick="javascrpit:gotopage(${pager.totalPage},${pager.currentPage},${pager.totalPage},4);">尾页</a>
        <a href="#" onclick="javascrpit:gotopage(theForm.pageno.value,${pager.currentPage},${pager.totalPage},5);">跳转</a>
        <input type="text" id="pageNo" name="pageNo"  size="3"  >页
        <input type="button" id="search" name="search" value="查询" onclick="javascript:pageSearch('${pager.totalPage}');"/>
        </td>
      </tr>

 

向后台传参部分

function gotopage(goPage,nowPage,totalPage,flag){
    if(checkGoPage(goPage,nowPage,totalPage,flag)){
        var  url = '${ctx}/system/staff?currentPage='+goPage;
        window.location.href = url;
    }
}

function pageSearch(totalPage){
	var pageNo = $("#pageNo").val();
	if(!common.isPInt(pageNo)){
		alert("请输入数字!");
		return false;
	}
	if(pageNo > totalPage){
		alert("最大页"+totalPage+"页");
		return false;
	}
	var  url = '${ctx}/system/staff?currentPage='+pageNo;
    window.location.href = url;
}

 

Pager类

public class PagerBean implements java.io.Serializable {

	private static final long serialVersionUID = 2981940569512052481L;
	private int totalPage;                    //总页数  
    private int totalCount;                   //总记录数  
    private int currentPage;                //当前页  
    private int pageSize;                    //每页的数量
    private int firstPage;                     //首页
    private int prePage;                     //上一页
    private int nextPage;                    //下一页
    private int lastPage;                     //尾页
    private int startPageNumber;         //查询起始数
    private int endPageNumber;          //查询结束数
    
	public int getTotalPage() {
		return totalPage;
	}
	public void setTotalPage(int totalPage) {
		this.totalPage = totalPage;
	}
	public int getTotalCount() {
		return totalCount;
	}
	public void setTotalCount(int totalCount) {
		this.totalCount = totalCount;
	}
	public int getCurrentPage() {
		return currentPage;
	}
	public void setCurrentPage(int currentPage) {
		this.currentPage = currentPage;
	}
	public int getPageSize() {
		return pageSize;
	}
	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}
	public int getFirstPage() {
		return firstPage;
	}
	public void setFirstPage(int firstPage) {
		this.firstPage = firstPage;
	}
	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 int getLastPage() {
		return lastPage;
	}
	public void setLastPage(int lastPage) {
		this.lastPage = lastPage;
	}
	 public int getStartPageNumber() {
		return startPageNumber;
	}
	public void setStartPageNumber(int startPageNumber) {
		this.startPageNumber = startPageNumber;
	}
	public int getEndPageNumber() {
		return endPageNumber;
	}
	public void setEndPageNumber(int endPageNumber) {
		this.endPageNumber = endPageNumber;
	}
	/** 
     * 分页处理 
     * @param currentPage 当前页 
     * @param pageSize 每页的数量 
     * @param totalCount 总记录数 
     */  
    public void setPageInfo(int currentPage, int pageSize, int totalCount){  
        this.currentPage = currentPage;  
        this.pageSize = pageSize;  
        this.totalCount = totalCount;  
          
        if(currentPage < 1){  
            this.currentPage = 1;  
        }  
          
        this.totalPage = (this.totalCount + pageSize - 1)/pageSize;  
        this.firstPage =1;  
        this.lastPage = totalPage;  
          
        if(this.currentPage > 1){  
            this.prePage = this.currentPage - 1;  
        }else{  
            this.prePage = 1;  
        }  
          
        if(this.currentPage < totalPage){  
            this.nextPage = this.currentPage + 1;   
        }else{  
            this.nextPage = totalPage;  
        } 
        
        this.startPageNumber = (this.currentPage-1)*this.pageSize;
        this.endPageNumber = (this.currentPage-1)*this.pageSize+this.pageSize;
    }

 

java处理分页部分

int currentPage = request.getParameter("currentPage") == null ? 1 : Integer.parseInt(request.getParameter("currentPage"));
GlobalInfoBean global = (GlobalInfoBean)session.getAttribute("global");
Integer pageSize = global.getPageRecode();
if(pageSize == null){
	pageSize = 20;
}
int totalCount = systemService.getStaffBeanListCount();
PagerBean pager  = new PagerBean();
pager.setPageInfo(currentPage, pageSize, totalCount);
List<LoginBean> staffBeanList = systemService.getStaffBeanList(pager);
request.setAttribute("pager", pager);

 

本文代码参考:http://jaychaoqun.iteye.com/blog/393721

分享到:
评论

相关推荐

    利用假分页实现分页的代码

    以下是如何利用假分页实现分页的一些建议: 1. **前端处理**:前端需要维护一个状态,包括当前页码、每页显示的条目数等。当用户触发翻页操作时,前端根据这些状态构建请求参数,发送HTTP请求到服务器。 2. **动态...

    简单web分页实现

    本篇文章将深入探讨“简单web分页实现”的概念、原理以及实现方法。 首先,我们要理解分页的基本原理。分页通常涉及到两个主要方面:前端显示和后端数据处理。前端负责展示页面上的导航元素(如页码),并根据用户...

    通用分页实现及其OO设计探讨(2)

    标题中的“通用分页实现及其OO设计探讨(2)”表明我们将会讨论的是关于软件开发中的一个常见问题,即如何在应用程序中实现分页功能,并且是基于面向对象(Object-Oriented, OO)的设计思想。这通常涉及到数据库查询、...

    struts2.0实现的数据分页实现及实现分页步骤

    Struts2.0 是一个流行的Java Web开发框架,它提供了一种组织和控制MVC(Model-...同时,随着技术的发展,现代的Web应用可能更倾向于使用ORM框架(如Hibernate)和前端分页库(如jQuery DataTables)来简化分页实现。

    存储过程分页实现实例源码

    存储过程分页实现实例源码 源码描述: Filename: PeterPageList * Description: 主要运用sql存储过程进行分页实现,在进行分页实现,需要注意一下事项, * 在项目的根目录下面有一个db文件夹,请认真阅读,里面包含...

    jsp 分页实现总结大全

    本文将深入探讨JSP(JavaServer Pages)中的分页实现策略,以帮助开发者更好地理解和应用这一技术。 一、基础概念 1. JSP:JavaServer Pages,是Java的一种动态网页技术,允许在服务器端生成HTML、XML或其他格式的...

    MyBatis自动分页实现

    MyBatis自动分页实现 MyBatis 是一个流行的持久层框架,它提供了强大的数据访问功能。但是,在实际应用中,分页问题经常困扰开发者。要实现分页,开发者需要手动编写代码来实现分页逻辑,这不仅增加了开发难度,也...

    java多种分页实现

    ### Struts框架下的分页实现 #### 1. 基本思路与流程 在Struts框架中,分页主要涉及以下几个步骤: - 首先,确定每页显示的记录数。 - 其次,计算总页数和当前页码。 - 再次,根据当前页码获取相应的数据集。 - ...

    文章正文分页实现源码

    在IT行业中,文章正文分页实现是一个常见的需求,特别是在网页设计、内容管理系统(CMS)以及电子阅读器等应用中。这种功能使得长篇文章能够被合理地分割成多个页面,提高用户的阅读体验,避免一次性加载过多内容...

    jsp里的分页实现

    在这个分页实现中,Action类会执行以下操作: 1. **查询数据**:Action类会调用MyBatis的Mapper接口,传递当前页码和每页记录数作为参数,查询对应页的数据。在MyBatis中,可以通过动态SQL实现分页查询,例如使用`...

    android电子书(txt)分页实现

    "android电子书(txt)分页实现"这个项目专注于解决如何在Android应用中对TXT格式的电子书进行有效的分页处理。这里我们将深入探讨实现这一功能所涉及的关键知识点。 1. **文本解析**:TXT文件是一种纯文本格式,不...

    SSM框架分页实现

    至此,一个基本的SSM框架下的分页实现已经完成。但实际项目中,我们可能还需要考虑更多的细节,比如分页插件的使用(如MyBatis的PageHelper),以及对查询条件、排序方式等的处理。此外,前端分页样式和交互也需要...

    mysql数据库实现分页

    以下是对分页实现的详细说明: 一、基础概念 分页是将数据库查询结果分割成多个页面,每次请求只返回一部分数据,而不是一次性返回所有数据。这在Web应用中尤其常见,如搜索引擎、电商网站等,用户通常会通过点击...

    JAVA分页实现JAVA+JS+HTML

    在实际项目中,分页实现可能更为复杂,例如需要考虑性能优化,比如预加载相邻页数据,或者使用懒加载来减少初始加载时间。同时,现代前端框架如React、Vue或Angular提供了更高级的分页组件和状态管理工具,简化了...

    java分页实现(有详细注释)

    该分页实现不需要详细看原理,直接把DAO中的两个方法和已经实现好的分页辅助bean加到你的项目中,再把分页辅助的jsp直接包含进来,只要在你的显示层加两句jsp就OK. ========================================== 原来也...

    简单的mvc分页实现

    这里我们讨论的是“简单的MVC分页实现”,这是一个基于模型-视图-控制器(Model-View-Controller)架构的分页方法。在MVC模式下,应用程序分为三个主要组件:模型(Model)负责数据的处理和存储,视图(View)负责...

    前端Javaweb分页实现

    二、前端分页实现方式 前端分页主要分为两种方式:纯前端分页和前后端联动分页。 1. 纯前端分页:所有数据一次性从后端获取,然后在前端进行分页处理。这种方式对后端压力较小,但当数据量过大时,会增加页面加载...

    ssh分页实现.

    SSH框架下的分页实现不仅需要在DAO层合理设计查询方法,还应充分利用Spring和Hibernate的特性,如`HibernateDaoSupport`和`HibernateCallback`,同时引入专门的`PageBean`类来管理分页状态。这种设计模式不仅提高了...

    java分页实现大全

    Java 分页实现是Java开发中常见的一种技术,用于在大量数据中进行高效的查询和展示,以提高用户体验并减轻服务器负载。在处理大数据集时,分页尤为重要,因为它允许用户逐步加载和浏览信息,而不是一次性加载所有...

Global site tag (gtag.js) - Google Analytics