当前位置:首页 > 开发 > 编程语言 > Java > 正文

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

发表于: 2011-04-29   作者:bingyingao   来源:转载   浏览次数:
摘要: /** 这个是我在网上看到的一个帖子自称是比较完美的分页类,我觉得并不是,譬如他这样HTML与js,java代码包括提交用的form元数都冗杂在一起,如果页面查询有其他的参数怎么办,先列在这里,过几天我自己写一个真正完美的分页组件 */ public class Pagination { /**      * 当前页   
/**
这个是我在网上看到的一个帖子自称是比较完美的分页类,我觉得并不是,譬如他这样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数据分页工具类

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
分页是个说简单就简单,说复杂页不复杂的功能。网上各种分页类多多少少都不符合自己的需求,还是自
具体工具类代码,请见我上一个博客。 一、工具类的使用 1.1 DataTable 工具类的使用 1.1.1 DataTabl
java.util.Arrays类能方便地操作数组,它提供的所有方法都是静态的。静态方法是属于类的,不是属于
Google以125亿美元收购摩托罗拉,在电话会议上Android老大Andy Rubin也毫不避讳的直言: 摩托罗拉业
过去一周MSN签名档是“小心翼翼地描绘别人的幸福” 有人说凄凉,事实上也的确有那么点凄凉…… 不过
如果你希望根据JSon数据自动生成对应的Java实体类,并且希望能进行变量的重命名,那么“JSON To Jav
这是写好的一个分页字符串的类,直接调用,生成分页字符串后之后显示到前台页面即可 其中GetList()
前几天看见博客园上有人写ASP.NET MVC的分页思想,这让我不禁想起了PagedList。PagedList是NuGet上
最近做项目要对数据进行统计分析,所以做一些统计图,首先想到了微软的owc,同时自己把owc的操作封装
先看一下官方的测试: 官方的演示有两个 bug 一个是combox数字一直不变,二是当选回第一个值时不执
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号