pageUtil

  1 package com.ddz.util;
  2 
  3 public class PageUtil {
  4     private String page;//请求页
  5     private int pageSize;//每页展示的记录数
  6     private int count;//总记录数
  7     
  8     private int prevPage;//上一页
  9     private int nextPage;//下一页
 10     private int currentPage;//处理后的当前页
 11     private int lastPage;//总记录数
 12     private int startIndex;//每页起始索引值
 13     
 14     private String mohu;
 15     //页面样式
 16     private String pageStyle;
 17     /**
 18      * @param page    页面未处理的请求页
 19      * @param count 查询出来的总记录数
 20      * @param pageSize 每页的记录数
 21      */
 22     public PageUtil(String page, int count, int pageSize) {
 23         super();
 24         this.page = page;
 25         this.pageSize = pageSize;
 26         this.count = count;
 27         //将计算的统计出来
 28         
 29         //处理当前页
 30         if(page==null || page == ""){
 31             this.currentPage = 1;
 32         }else{
 33             this.currentPage = Integer.parseInt(page);
 34         }
 35         
 36         //处理上一页
 37         if(this.currentPage <= 1){
 38             this.prevPage = 1;
 39         }else{
 40             this.prevPage = this.currentPage -1;
 41         }
 42         
 43         //处理尾页
 44         if(count%pageSize == 0){
 45             this.lastPage = count/pageSize;
 46         }else{
 47             this.lastPage = count/pageSize + 1;
 48         }
 49         
 50         //处理下一页
 51         if(this.currentPage == this.lastPage){
 52             this.nextPage = this.lastPage;
 53         }else{
 54             this.nextPage = this.currentPage + 1;
 55         }
 56         
 57         //得到每页起始索引值
 58         this.startIndex = (this.currentPage - 1)* pageSize;
 59         
 60         initPageStyle();//初始化页面 分页 样式
 61     }
 62     /**
 63      * 初始化分页样式,简化jsp页面代码
 64      */
 65     private void initPageStyle() {
 66         StringBuffer sb = new StringBuffer();
 67         sb.append("当前第"+this.currentPage+"/"+this.lastPage+"页,共"+this.count+"条记录\n");
 68         if(this.currentPage!=1){
 69             sb.append("<input type='button' value='首页' onclick='goPage(1)'/>\n");
 70             sb.append("<input type='button' value='上一页' onclick='goPage("+this.prevPage+")'/>\n");
 71         }
 72         int currentPage=this.currentPage;
 73         int lastPage=this.lastPage;
 74         
 75         if(lastPage>5){
 76             if(currentPage>2 && currentPage<(lastPage-1)){
 77                 sb.append("<input type='button' value='"+(currentPage-2)+"' onclick='goPage("+(currentPage-2)+")'/>\n");
 78                 sb.append("<input type='button' value='"+(currentPage-1)+"' onclick='goPage("+(currentPage-1)+")'/>\n");
 79                 sb.append("<input type='button' value='"+currentPage+"' onclick='goPage("+currentPage+")'/>\n");
 80                 sb.append("<input type='button' value='"+(currentPage+1)+"' onclick='goPage("+(currentPage+1)+")'/>\n");
 81                 sb.append("<input type='button' value='"+(currentPage+2)+"' onclick='goPage("+(currentPage+2)+")'/>\n");
 82             }else if(currentPage==2){
 83                 sb.append("<input type='button' value='"+(currentPage-1)+"' onclick='goPage("+(currentPage-1)+")'/>\n");
 84                 sb.append("<input type='button' value='"+currentPage+"' onclick='goPage("+currentPage+")'/>\n");
 85                 sb.append("<input type='button' value='"+(currentPage+1)+"' onclick='goPage("+(currentPage+1)+")'/>\n");
 86                 sb.append("<input type='button' value='"+(currentPage+2)+"' onclick='goPage("+(currentPage+2)+")'/>\n");
 87             }else if(currentPage==1){
 88                 sb.append("<input type='button' value='"+currentPage+"' onclick='goPage("+currentPage+")'/>\n");
 89                 sb.append("<input type='button' value='"+(currentPage+1)+"' onclick='goPage("+(currentPage+1)+")'/>\n");
 90                 sb.append("<input type='button' value='"+(currentPage+2)+"' onclick='goPage("+(currentPage+2)+")'/>\n");
 91             }else if(currentPage==lastPage){
 92                 sb.append("<input type='button' value='"+(currentPage-2)+"' onclick='goPage("+(currentPage-2)+")'/>\n");
 93                 sb.append("<input type='button' value='"+(currentPage-1)+"' onclick='goPage("+(currentPage-1)+")'/>\n");
 94                 sb.append("<input type='button' value='"+currentPage+"' onclick='goPage("+currentPage+")'/>\n");
 95             }else if(currentPage==(lastPage-1)){
 96                 sb.append("<input type='button' value='"+(currentPage-2)+"' onclick='goPage("+(currentPage-2)+")'/>\n");
 97                 sb.append("<input type='button' value='"+(currentPage-1)+"' onclick='goPage("+(currentPage-1)+")'/>\n");
 98                 sb.append("<input type='button' value='"+currentPage+"' onclick='goPage("+currentPage+")'/>\n");
 99                 sb.append("<input type='button' value='"+(currentPage+1)+"' onclick='goPage("+(currentPage+1)+")'/>\n");
100             }
101         }else{
102             for (int i=1;i<=lastPage;i++) {
103                 sb.append("<input type='button' value='"+i+"' onclick='goPage("+i+")'/>\n");
104             }
105         }
106         if(this.currentPage!=this.lastPage){
107             sb.append("<input type='button' value='下一页' onclick='goPage("+this.nextPage+")'/>\n");
108             sb.append("<input type='button' value='尾页' onclick='goPage("+this.lastPage+")'/>\n");
109         }
110         
111         sb.append("\n<script type='text/javascript'>\n");
112         sb.append("function goPage(page){\n");
113         sb.append("        location.href = changeURLArg('page',page);\n");
114         sb.append("}\n");
115         sb.append("function inputPage(lastPage){\n");
116         sb.append("        var page = document.getElementById('inputPage').value;\n");
117         sb.append("        page= page.trim();\n");
118         sb.append("        if(!(isNaN(page)) && page.indexOf('+')==-1 && page.indexOf('-')==-1 && page.indexOf('.')==-1){\n");
119         sb.append("            if(page>0&&page!=''){\n");
120         sb.append("                if(page<=lastPage){\n");
121         sb.append("                    location.href = changeURLArg('page',page);\n");
122         sb.append("                }else{\n");
123         sb.append("                    alert('您输入的超过了总页码!');\n");
124         sb.append("                }\n");
125         sb.append("            }else{\n");
126         sb.append("                alert('您输入的不符合标准!');\n");
127         sb.append("            }\n");
128         sb.append("            }else{\n");
129         sb.append("                alert('您输入的不符合标准!');\n");
130         sb.append("        }\n");
131         sb.append("}\n");
132         sb.append("function mohu(){\n");
133         sb.append("        location.href = changeURLArg('mohu',document.getElementById('mohu').value,1);\n");
134         sb.append("}\n");
135         sb.append("function changeURLArg(arg,arg_val,flag){\n");
136         sb.append("        var url = window.location.toString(); \n");
137         sb.append("        if(1==flag){\n");
138         sb.append("            url = changeURLArg('page',1);\n");
139         sb.append("        }\n");
140         sb.append("        var pattern=arg+'=([^&]*)'; \n");
141         sb.append("        var replaceText=arg+'='+arg_val; \n");
142         sb.append("        if(url.match(pattern)){ \n");
143         sb.append("            var tmp='/('+ arg+'=)([^&]*)/gi'; \n");
144         sb.append("            tmp=url.replace(eval(tmp),replaceText); \n");
145         sb.append("            return tmp; \n");
146         sb.append("         }else{ \n");
147         sb.append("            if(url.match('[\\?]')){ \n");
148         sb.append("                return url+'&'+replaceText; \n");
149         sb.append("            }else{ \n");
150         sb.append("                return url+'?'+replaceText; \n");
151         sb.append("            } \n");
152         sb.append("         } \n");
153         sb.append("         return url+'\\n'+arg+'\\n'+arg_val; \n");
154         sb.append("} \n");
155         sb.append("$('[value="+currentPage+"]').css({'background':'red'}); \n");
156         sb.append("</script>\n");
157         sb.append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
158         sb.append("<input type='text' value="+currentPage+" id='inputPage' style='width:40px'>\n");
159         sb.append("<input type='button' value='搜索' onclick='inputPage("+lastPage+")'>\n");
160         this.pageStyle = sb.toString();
161     }
162     public PageUtil() {
163         super();
164     }
165     public String getPage() {
166         return page;
167     }
168     public void setPage(String page) {
169         this.page = page;
170     }
171     public int getPageSize() {
172         return pageSize;
173     }
174     public void setPageSize(int pageSize) {
175         this.pageSize = pageSize;
176     }
177     public int getCount() {
178         return count;
179     }
180     public void setCount(int count) {
181         this.count = count;
182     }
183     public int getPrevPage() {
184         return prevPage;
185     }
186     public void setPrevPage(int prevPage) {
187         this.prevPage = prevPage;
188     }
189     public int getNextPage() {
190         return nextPage;
191     }
192     public void setNextPage(int nextPage) {
193         this.nextPage = nextPage;
194     }
195     public int getCurrentPage() {
196         return currentPage;
197     }
198     public void setCurrentPage(int currentPage) {
199         this.currentPage = currentPage;
200     }
201     public int getLastPage() {
202         return lastPage;
203     }
204     public void setLastPage(int lastPage) {
205         this.lastPage = lastPage;
206     }
207     public int getStartIndex() {
208         return startIndex;
209     }
210     public void setStartIndex(int startIndex) {
211         this.startIndex = startIndex;
212     }
213     public String getPageStyle() {
214         return pageStyle;
215     }
216     public void setPageStyle(String pageStyle) {
217         this.pageStyle = pageStyle;
218     }
219     public String getMohu() {
220         return mohu;
221     }
222     public void setMohu(String mohu) {
223         this.mohu = mohu;
224     }
225     @Override
226     public String toString() {
227         return "PageUtil [page=" + page + ", pageSize=" + pageSize + ", count=" + count + ", prevPage=" + prevPage
228                 + ", nextPage=" + nextPage + ", currentPage=" + currentPage + ", lastPage=" + lastPage + ", startIndex="
229                 + startIndex + ", mohu=" + mohu + ", pageStyle=" + pageStyle + "]";
230     }
231     
232 }

 

posted @ 2018-12-10 11:48  Dylan_G  阅读(541)  评论(0编辑  收藏  举报