zoukankan      html  css  js  c++  java
  • java 翻页工具类

    Pagination类

    package com.paic.bics.core.mybatis.page;
    
    import java.util.List;
    
    @SuppressWarnings("serial")
    public class Pagination<T> extends SimplePage implements java.io.Serializable,
            Paginable {
    
        /**
         * 当前页的数据
         */
        private List<T> list;
    
        
        
        public Pagination() {
        }
    
        public Pagination(int pageNo, int pageSize, int totalCount) {
            super(pageNo, pageSize, totalCount);
        }
    
        @SuppressWarnings("unchecked")
        public Pagination(int pageNo, int pageSize, int totalCount, List list) {
            super(pageNo, pageSize, totalCount);
            this.list = list;
        }
    
        public int getFirstResult() {
            return (pageNo - 1) * pageSize;
        }
    
        public List<T> getList() {
            return list;
        }
    
        public void setList(List<T> list) {
            this.list = list;
        }
    
        
        /**paic.bics SEO 翻页版本*/
        public String getWebPage(String page){
            StringBuffer pageHtml = new StringBuffer("<ul class='pagination'>");
            if(this.getPageNo()>1){
                if(this.getPageNo()>5){
                    pageHtml.append("<li><a href='javascript:;' onclick='"+ page +"'>首页</a></li>");
                }
                pageHtml.append("<li><a href='"+ page +""+(this.getPageNo() -1) +"'>上一页</a></li>");
            }
            for (int i = (this.getPageNo()-2<=0?1:this.getPageNo()-2),no = 1; i <= this.getTotalPage()&& no <6 ; i++,no++) {
                if (this.getPageNo() == i) {
                    pageHtml.append("<li class='active'><a href='javascript:void(0);' >"+i+"</a></li>");
                }else{
                    pageHtml.append("<li><a href='"+ page +""+ i +"'>"+i+"</a></li>");
                }
            }
            if(this.getPageNo() < this.getTotalPage()){
                pageHtml.append("<li><a href='"+ page +""+(this.getPageNo()+1) +"'>下一页</a></li>");
            }
            pageHtml.append("</ul>");
            return pageHtml.toString();
        }
        
        
        
        /**Ajxa翻页*/
        public String getSiAjaxPageHtml(){
            StringBuffer pageHtml = new StringBuffer("<ul class='pagination'>");
            if(this.getPageNo()>1){
                if(this.getPageNo()>5){
                    pageHtml.append("<li><a href='javascript:;' onclick='goPageByAjax(1)'>首页</a></li>");
                }
                pageHtml.append("<li><a href='javascript:;'  onclick='goPageByAjax("+(this.getPageNo() - 1)+")'>上一页</a></li>");
            }
            for (int i = (this.getPageNo()-2<=0?1:this.getPageNo()-2),no = 1; i <= this.getTotalPage()&& no <6 ; i++,no++) {
                if (this.getPageNo() == i) {
                    pageHtml.append("<li class='active'><a href='javascript:void(0);' >"+i+"</a></li>");
                }else{
                    pageHtml.append("<li><a href='javascript:;' onclick='goPageByAjax("+i+")'>"+i+"</a></li>");
                }
            }
            if(this.getPageNo() < this.getTotalPage()){
                pageHtml.append("<li><a href='javascript:;'  onclick='goPageByAjax("+(this.getPageNo() + 1)+")'>下一页</a></li>");
            }
            pageHtml.append("</ul>");
            return pageHtml.toString();
        }
        
        /**普通翻页*/
        public String getPageHtml(){
            StringBuffer pageHtml = new StringBuffer("<ul class='pagination'>");
            if(this.getPageNo()>1){
                if(this.getPageNo()>5){
                    pageHtml.append("<li><a href='javascript:;' onclick='_submitform(1)'>首页</a></li>");
                }
                pageHtml.append("<li><a href='javascript:;'  onclick='_submitform("+(this.getPageNo() - 1)+")'>上一页</a></li>");
            }
            for (int i = (this.getPageNo()-2<=0?1:this.getPageNo()-2),no = 1; i <= this.getTotalPage()&& no <6 ; i++,no++) {
                if (this.getPageNo() == i) {
                    pageHtml.append("<li class='active'><a href='javascript:void(0);' >"+i+"</a></li>");
                }else{
                    pageHtml.append("<li><a href='javascript:;' onclick='_submitform("+i+")'>"+i+"</a></li>");
                }
            }
            if(this.getPageNo() < this.getTotalPage()){
                pageHtml.append("<li><a href='javascript:;'  onclick='_submitform("+(this.getPageNo() + 1)+")'>下一页</a></li>");
            }
            pageHtml.append("</ul>");
            pageHtml.append("<script>");
            pageHtml.append("    function _submitform(pageNo){");
            pageHtml.append("        $("#formId").append($("<input type='hidden' value='" + pageNo +"' name='pageNo'>")).submit();");
            pageHtml.append("    }");
            pageHtml.append("</script>");
            
            return pageHtml.toString();
        }
        
        
    }

    SimplePage.java

    package com.paic.bics.core.mybatis.page;
    
    public class SimplePage implements Paginable {
        private static final long serialVersionUID = 1L;
        public static final int DEF_COUNT = 20;
    
        public SimplePage() {
        }
    
        public SimplePage(int pageNo, int pageSize, int totalCount) {
            if (totalCount <= 0) {
                this.totalCount = 0;
            } else {
                this.totalCount = totalCount;
            }
            if (pageSize <= 0) {
                this.pageSize = DEF_COUNT;
            } else {
                this.pageSize = pageSize;
            }
            if (pageNo <= 0) {
                this.pageNo = 1;
            } else {
                this.pageNo = pageNo;
            }
            if ((this.pageNo - 1) * this.pageSize >= totalCount) {
                this.pageNo = totalCount / pageSize;
                if(this.pageNo==0){
                    this.pageNo = 1 ;
                }
            }
        }
    
        /**
         * 调整分页参数,使合理化
         */
        public void adjustPage() {
            if (totalCount <= 0) {
                totalCount = 0;
            }
            if (pageSize <= 0) {
                pageSize = DEF_COUNT;
            }
            if (pageNo <= 0) {
                pageNo = 1;
            }
            if ((pageNo - 1) * pageSize >= totalCount) {
                pageNo = totalCount / pageSize;
            }
        }
    
        public int getPageNo() {
            return pageNo;
        }
    
        public int getPageSize() {
            return pageSize;
        }
    
        public int getTotalCount() {
            return totalCount;
        }
    
        public int getTotalPage() {
            int totalPage = totalCount / pageSize;
            if (totalCount % pageSize != 0 || totalPage == 0) {
                totalPage++;
            }
            return totalPage;
        }
    
        public boolean isFirstPage() {
            return pageNo <= 1;
        }
    
        public boolean isLastPage() {
            return pageNo >= getTotalPage();
        }
    
        public int getNextPage() {
            if (isLastPage()) {
                return pageNo;
            } else {
                return pageNo + 1;
            }
        }
    
        public int getPrePage() {
            if (isFirstPage()) {
                return pageNo;
            } else {
                return pageNo - 1;
            }
        }
    
        protected int totalCount = 0;
        protected int pageSize = 20;
        protected int pageNo = 1;
    
        public void setTotalCount(int totalCount) {
            this.totalCount = totalCount;
        }
    
        public void setPageSize(int pageSize) {
            this.pageSize = pageSize;
        }
    
        public void setPageNo(int pageNo) {
            this.pageNo = pageNo;
        }   
        protected int filterNo;
    
        public int getFilterNo() {
            return filterNo;
        }
    
        public void setFilterNo(int filterNo) {
            this.filterNo = filterNo;
        }
       
    }

    Paginable.java

    package com.paic.bics.core.mybatis.page;
    
    public interface Paginable {
    
    
            /**
             * 总记录数
             * 
             * @return
             */
            public int getTotalCount();
    
            /**
             * 总页数
             * 
             * @return
             */
            public int getTotalPage();
    
            /**
             * 每页记录数
             * 
             * @return
             */
            public int getPageSize();
    
            /**
             * 当前页号
             * 
             * @return
             */
            public int getPageNo();
    
            /**
             * 是否第一页
             *
             * @return
             */
            public boolean isFirstPage();
    
            /**
             * 是否最后一页
             * 
             * @return
             */
            public boolean isLastPage();
    
            /**
             * 返回下页的页号
             */
            public int getNextPage();
    
            /**
             * 返回上页的页号
             */
            public int getPrePage();
        }
  • 相关阅读:
    如何实现序列化为json
    unity中camera摄像头控制详解
    eclipse配置c开发环境
    uml和模式01
    angular2开发01
    微信公众平台开发01
    最新无线网卡驱动安装
    交换ctrl和caps_loack的新方法
    web.xml文件详解
    设计模式中的里氏代换原则
  • 原文地址:https://www.cnblogs.com/shibazizhan/p/7266909.html
Copyright © 2011-2022 走看看