• java代码分页


    分页类

    这个适用情况:

    适用于前端页面已提供分页按钮样式的情况

    分页规则:

    首页,尾页,上页,下页 这四个按钮必定出现,中间分页动态生成5个

    如:首 上 2 3 4 5 6 下 尾

    public class Pager {
    //    public static void main(String args[]){
    //        Pager p = new Pager();
    //        String pstr = p.getInitPager(10,200,1);
    //        System.err.println("pstr="+pstr);
    //    }
    
    //    private static int pageSize = 20;
        /*
        * @method 分页,默认显示5页
        * */
        public static String getInitPager(int pageSize,int totalCount,int curPage){
            curPage = (curPage == 0) ? 1:curPage;
            int totalPage = getPageCount(pageSize,totalCount);
            int p_pre = (curPage>1) ? curPage-1 : 1;//上一页
            int p_next = (curPage<totalCount) ? curPage+1 : totalCount;//下一页
    
            //分页首端 固定部分
            StringBuffer frontFixedPage = new StringBuffer();
            frontFixedPage.append("<ul class='pagination pull-right'><li><a href='javascript:fn_page(1)'>首</a></li>
    ");
            frontFixedPage.append("<li><a href='javascript:fn_page("+p_pre+")'>上</a></li>
    ");
            //分页末尾 固定部分
            StringBuffer tailFixedPage = new StringBuffer();
            tailFixedPage.append("<li><a href='javascript:fn_page("+p_next+")'>下</a></li>
    ");
            tailFixedPage.append("<li><a href='javascript:fn_page("+totalPage+")'>尾</a></li>
    ");
            //分页末尾统计 固定部分
            StringBuffer fianlFixedPage = new StringBuffer();
            fianlFixedPage.append("<li class='disabled'><a>页次:"+curPage+"/"+totalPage+"页 共"+totalCount+"条</a></li></ul>");
    
            //分页中间 变动部分
            StringBuffer midChangePage = new StringBuffer();
    
            if(totalPage <= 5 ){
                for(int i = 1; i <= totalPage; i++){
                    String active = (curPage == i) ? "class='active'" : "";
                    midChangePage.append("<li "+active+"><a href='javascript:fn_page("+i+")'>"+i+"</a></li>
    ");
                }
            }else{
                //页数n>5的,显示页数n-2,n-1,n,n+1,n+2
                if(curPage > 2 && curPage <= totalPage - 2){
                    for(int i = curPage-2; i <= curPage + 2; i++){
                        String active = (curPage == i) ? "class='active'" : "";
                        midChangePage.append("<li "+active+"><a href='javascript:fn_page("+i+")'>"+i+"</a></li>
    ");
                    }
                }
                //当前页<=2的,显示1,2,3,4,5
                else if(curPage<=2){
                    for(int i = 1; i <= 5; i++){
                        String active = (curPage == i) ? "class='active'" : "";
                        midChangePage.append("<li "+active+"><a href='javascript:fn_page("+i+")'>"+i+"</a></li>
    ");
                    }
                }
                //当前页>末尾第二页的,显示n-4,n-3,n-2,n-1,n
                else if(curPage > totalPage - 2){
                    for(int i = totalPage - 4; i <= totalPage; i++){
                        String active = (curPage == i) ? "class='active'" : "";
                        midChangePage.append("<li "+active+"><a href='javascript:fn_page("+i+")'>"+i+"</a></li>
    ");
                    }
                }
            }
            StringBuffer pageStr = new StringBuffer();
            pageStr.append(frontFixedPage);
            pageStr.append(midChangePage);
            pageStr.append(tailFixedPage);
            pageStr.append(fianlFixedPage);
    
            frontFixedPage = null;
            midChangePage = null;
            tailFixedPage = null;
            fianlFixedPage = null;
            return pageStr.toString();
        }
        /*
        * @method 计算总页数
        * */
        public static int getPageCount(int pageSize,int totalCount){
            int p = (int)Math.ceil((double)totalCount/pageSize);
            p = (p == 0) ? 1 : p;
            return p;
        }
    
    /*<ul class='pagination pull-right'>
              <li>
                <a href='javascript:fn_page(1)'>首</a></li>
              <li>
                <a href='javascript:fn_page(1)'>上</a></li>
              <li class='active'>
                <a href='javascript:'>1</a></li>
              <li>
                <a href='javascript:fn_page(2)'>2</a></li>
              <li>
                <a href='javascript:fn_page(3)'>3</a></li>
              <li><a href='javascript:fn_page(2)'>下</a></li>
              <li><a href='javascript:fn_page(3)'>尾</a></li>
              <li class='disabled'>
                <a>页次:1/3页 共26条</a>
              </li>
        </ul>*/
    }
  • 相关阅读:
    【IDEA配置】web项目报错404 login.html找不到资源或无法访问
    完成一个IDEA web项目(二)登录功能实现
    完成一个IDEA web项目(一)项目搭建准备工作
    Servlet中写了注解@WebServlet但访问servlet报404错误
    Category分类测试报错:Category annotations on Parameterized classes are not supported on individual methods.
    Junit测试报错:java.lang.AssertionError at org.junit.Assert.assertTrue
    集合Set添加多个元素
    【IDEA配置】IDEA新建maven web项目
    【IDEA配置】IDEA新建web项目
    JSON
  • 原文地址:https://www.cnblogs.com/xiaoliu66007/p/7151813.html
Copyright © 2020-2023  润新知