`

别人做的一个不咋地的java数据分页工具类

    博客分类:
  • J2EE
阅读更多
/**
这个是我在网上看到的一个帖子自称是比较完美的分页类,我觉得并不是,譬如他这样HTML与js,java代码包括提交用的form元数都冗杂在一起,如果页面查询有其他的参数怎么办,先列在这里,过几天我自己写一个真正完美的分页组件
*/

public class Pagination {
/**
     * 当前页
     */
    private int curPage;
    /**
     * 每页显示的记录数
     */
    private int pageSize;
    /**
     * 记录总行数
     */
    private int rowsCount;
    /**
     * 总页数
     */
    private int pageCount;
   
    /**
     *
     * @param totalSize 总记录数
     * @param curPage 当前的页码数
     * @param pageSize 每页记录数
     *
     */
    public Pagination(int totalSize, int curPage, int pageSize) {
        this.curPage = curPage;
        this.pageSize = pageSize;
        this.rowsCount = totalSize;
        this.pageCount = (int) Math.ceil((double) rowsCount / pageSize);
    }

public int getCurPage() {
return curPage;
}


public int getPageCount() {
return pageCount;
}

public int getPageSize() {
return pageSize;
}

public int getRowsCount() {
return rowsCount;
}
//判断是否首页
public boolean isFirst() {
        return (curPage==1)?true:false;
    }
//判断是否尾页
public boolean isLast() {
        return (curPage==pageCount)?true:false;
    }
/**
     * 获取工具条
     * @return 返回用于翻页、跳转、控制页面大小的工具条
     */
    public String getToolBar()
    {
        String str="<script>function changePageValue(cur_page) {if(document.all.ischange!=null){if(document.all.ischange.value=='1'){document.all.isFirstQuery.value='0';}else{document.all.isFirstQuery.value='1';}}else{document.all.isFirstQuery.value='1';} var curPage=document.getElementById('cur_page');"
        +"curPage.value=cur_page;var form=document.forms[0];var a=form.submit();if(a==false){return false;}form.onsubmit();}function mySubmit(){goto_Page(); if(document.all.ischange!=null){if(document.all.ischange.value=='1'){document.all.isFirstQuery.value='0';}else{document.all.isFirstQuery.value='1';}}else{document.all.isFirstQuery.value='1';}  var form = document.forms[0];form.submit();}"
        +"function goto_Page(){document.getElementById('cur_page').value=document.forms[0].txtPage.value;}</script>";
        str+="<input type='hidden' name='cur_page' id='cur_page' value='"+curPage+"'>";
        str+="<input type='hidden' name='pageCount' id='pageCount' value='"+pageCount+"'>";
        str+="<input type='hidden' name='rowsCount' id='rowsCount' value='"+rowsCount+"'>";
        str+="<input type='hidden' name='isFirstQuery' id='isFirstQuery'>";
    HttpServletRequest request = ServletActionContext.getRequest();
String root = request.getContextPath();
        if(isFirst())
            str+="<img src='"+root+"/images/pg-first.gif' alt='首页' border='0'>&nbsp;<img src='"+root+"/images/pg-prev.gif' alt='上一页' border='0'>&nbsp;";
        else
        {
            str+="<a style='cursor:hand;FONT-SIZE: 12px; COLOR: #D80000;' onclick='javascript:changePageValue(1)'><img src='"+root+"/images/pg-first.gif' alt='首页' border='0'></a>&nbsp;";
            str+="<a style='cursor:hand;FONT-SIZE: 12px; COLOR: #D80000;' onclick='javascript:changePageValue("+(curPage-1)+")'><img src='"+root+"/images/pg-prev.gif' alt='上一页' border='0'></a>&nbsp;";
        }
        if(isLast())
            str+="<img src='"+root+"/images/pg-next.gif' alt='下一页' border='0'>&nbsp;<img src='"+root+"/images/pg-last.gif' alt='尾页' border='0'>&nbsp;";
        else
        {
            str+="<a style='cursor:hand;FONT-SIZE: 12px; COLOR: #D80000;' onclick='javascript:changePageValue("+(curPage+1)+")'><img src='"+root+"/images/pg-next.gif' alt='下一页' border='0'></a>&nbsp;";
            str+="<a style='cursor:hand;FONT-SIZE: 12px; COLOR: #D80000;' onclick='javascript:changePageValue("+pageCount+")'><img src='"+root+"/images/pg-last.gif' alt='末页' border='0'></a>&nbsp;";
        }
        str+="&nbsp;共 <b>"+rowsCount+"</b> 条记录&nbsp;";
        if (curPage > pageCount){
        curPage = pageCount;
        }
        str+="&nbsp;[当前第"+this.curPage+"页]/[共 <b>"+pageCount+"</b> 页]&nbsp;";
        str+="&nbsp;跳转到第 <input type='text'  class='button01' onfocus='this.focus();this.select();' id='txtPage' value='"+curPage+"' size='2' name='txtPage'> 页 ";
        str+=" <input type='button' class='input2' title='跳转' style='background-image:url("+root+"/images/go.gif);width:18px;border:0px;cursor:pointer;height:18px;' name='ok' onclick='changePageValue(document.forms[0].txtPage.value)'>";
        return str;
    }
    public String toString()
    {
    String str = "";
    str = "该类是用于分页的工具类";
    return str;
    }
}
分享到:
评论

相关推荐

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

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

    java分页工具类

    总之,Java分页工具类是Java开发中的重要组件,它通过合理地组织数据查询和处理,提供了便捷的分页解决方案,使得大规模数据的处理变得轻而易举。在实际应用中,我们可以根据项目需求对工具类进行适当的定制和优化,...

    Java jdbc分页工具类

    java jdbc 分页工具类,以及返回集合数据的封装, private int limit = 10;//每页的个数 /** * 当前页 */ private int page; // /** * 总行数 */ private int totalRows; // /** * 总页数 */ private ...

    对分页进行了封装,PageUtil.java工具类

    这里提到的"对分页进行了封装,PageUtil.java工具类"是一个Java实现的分页辅助类,它的主要目标是简化分页查询的操作,提供更便捷的API给开发者使用。 `PageUtil.java`工具类可能包含了以下功能: 1. **参数处理**...

    java分页工具类,以及基于Struts,Spring,mybatis,jsp中分页的调用及实现

    本文将详细介绍一个自定义的Java分页工具类`PageUtils`,并探讨其在Struts、Spring、MyBatis和JSP等框架和技术中的具体应用。 #### 二、分页工具类`PageUtils` `PageUtils`类是一个实现了`Serializable`接口的Java...

    java分页工具类[非常简洁好用]

    Java分页工具类是开发中常见的一种实用工具,主要用于处理大量数据时的分页显示,以提高用户体验并减轻服务器压力。在Java世界里,我们通常会遇到如MyBatis、Hibernate等ORM框架,它们虽然提供了分页功能,但在某些...

    Java实现的分页工具类

    本篇文章将详细探讨如何使用Java实现一个分页工具类,以及在实际应用中如何运用这个工具。 首先,分页的基本概念是通过指定每页显示的数据量(每页记录数,即pageSize)和当前页数(pageNumber),从数据库中获取...

    java后台生成分页代码工具类

    总的来说,`java后台生成分页代码工具类` 是一个用于处理分页查询的通用工具,它简化了开发过程,提高了代码的可复用性和可维护性。通过使用类似`PageOperator` 的工具类,开发者可以快速、高效地实现分页功能,无论...

    分页工具类分页工具类

    2. 应用程序层面:在Java中,可以自定义一个分页工具类,包含如分页参数(当前页码、每页大小)、数据获取方法(根据页码和每页大小从数据库获取数据)以及分页导航信息(如上一页、下一页、总页数等)。 3. 设计...

    分页缓存

    Ehcache本身提供了线程安全的保证,但如果是自定义的缓存实现,需要考虑并发读写的问题,可以使用`synchronized`关键字或`java.util.concurrent`包中的工具类。 7. **异常处理**:在处理缓存和数据库查询时,需要...

    Java实现的分页工具类与用法示例

    Java语言是目前最流行的编程语言之一,而Java实现的分页工具类是Java开发中一个非常重要的组件。在本文中,我们将详细介绍Java实现的分页工具类的定义、使用方法及相关操作技巧。 一、Java实现的分页工具类的定义 ...

    Pager(通过的分页工具类)

    标题中的“Pager(通过的分页工具类)”显然指的是一个用于实现分页功能的Java类。在这个类中,开发者通常会封装分页操作的相关逻辑,以便在各种场景下复用。现在我们来详细探讨一下分页的基本概念、设计原则以及...

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

    "page.rar"可能包含了一个分页工具类,这类工具通常提供静态方法,接收SQL查询语句、每页大小和当前页码作为参数,然后返回处理后的SQL和分页参数。这样的设计使得在代码中调用分页功能变得简单易行,同时也易于维护...

    分页工具类

    本文将详细介绍一个基于Java编写的分页工具类及其工作原理,同时提及它使用了自定义标签,并分析其可能存在的不足之处。 首先,分页工具类的主要作用是帮助我们处理数据库查询结果的分页显示。在Java Web应用中,...

    java多线程分页查询

    在实际的软件开发过程中,尤其是在处理大量数据时,如何高效地进行数据查询成为了一个关键问题。例如,在一个用户众多的社交平台上,当用户需要查看自己的动态列表时,如果每次都是实时查询数据库并返回所有数据,...

    JSP,用于分页显示的两个工具类

    在给定的资源中,包含的"PaginationSupport.java"和"PageDao.java"两个工具类,正是为了实现这种功能而设计的。 PaginationSupport.java是分页支持类,通常会包含以下关键知识点: 1. **参数设置**:此类可能包含...

    List集合分页工具类,正在使用的。

    该工具类提供带范型的分页方法。你只要的创建该对象的时候把List传进去就可以,可以自己设置每页展示几条数据,方法上都有注释。如果还有不明白的欢迎给我留言。

    java--fenye-.rar_java_java分页_工具 java

    本资料包主要包含了一个Java分页工具的源码,有助于开发者理解和实现自己的分页解决方案。 首先,我们要理解分页的基本原理。在数据库查询中,通常会用到SQL的LIMIT和OFFSET关键字来实现分页。LIMIT用于指定每页...

Global site tag (gtag.js) - Google Analytics