分页page

来源:互联网 发布:知乎盈利了吗 编辑:程序博客网 时间:2024/05/18 21:09
import java.io.Serializable;import java.util.List;/** * 分页 * Page */public class Page<T> implements Serializable{private static final long serialVersionUID = 3730402296986165144L;private List<T> list;private int showCount = 10; //每页显示记录数private int totalPage;//总页数private int totalResult;//总记录数private int currentPage=1;//当前页private int currentResult;//当前记录起始索引private boolean entityOrField;//true:需要分页的地方,传入的参数就是Page实体;false:需要分页的地方,传入的参数所代表的实体拥有Page属性private String pageStr;//最终页面显示的底部翻页导航,详细见:getPageStr();private int limit;private String field;private Integer field1;private String lastLoginStart;private String lastLoginEnd;private String USER_ID;public int getLimit() {limit = (((currentPage-1)*showCount-1)==-1?0:((currentPage-1)*showCount-1));return limit;}public void setLimit(int limit) {this.limit = limit;}public int getTotalPage() {if(totalResult%showCount==0)totalPage = totalResult/showCount;elsetotalPage = totalResult/showCount+1;return totalPage;}public void setTotalPage(int totalPage) {this.totalPage = totalPage;}public int getTotalResult() {return totalResult;}public void setTotalResult(int totalResult) {this.totalResult = totalResult;}public int getCurrentPage() {if(currentPage<=0)currentPage = 1;if(currentPage>getTotalPage())currentPage = getTotalPage();return currentPage;}public void setCurrentPage(int currentPage) {this.currentPage = currentPage;}public String getPageStr() {StringBuffer sb = new StringBuffer();if(totalResult>0){sb.append("<ul>\n");if(currentPage==1){sb.append("<li><a>共<font color=red>"+totalResult+"</font>条</a></li>\n");sb.append("<li><input type=\"number\" value=\"\" id=\"toGoPage\" style=\"width:50px;text-align:center;float:left\" placeholder=\"页码\"/></li>\n");sb.append("<li style=\"cursor:pointer;\"><a onclick=\"toTZ();\"  class=\"btn btn-mini btn-success\">跳转</a></li>\n");sb.append("<li><a>首页</a></li>\n");sb.append("<li><a>上页</a></li>\n");}else{sb.append("<li><a>共<font color=red>"+totalResult+"</font>条</a></li>\n");sb.append("<li><input type=\"number\" value=\"\" id=\"toGoPage\" style=\"width:50px;text-align:center;float:left\" placeholder=\"页码\"/></li>\n");sb.append("<li style=\"cursor:pointer;\"><a onclick=\"toTZ();\"  class=\"btn btn-mini btn-success\">跳转</a></li>\n");sb.append("<li style=\"cursor:pointer;\"><a onclick=\"nextPage(1)\">首页</a></li>\n");sb.append("<li style=\"cursor:pointer;\"><a onclick=\"nextPage("+(currentPage-1)+")\">上页</a></li>\n");}int showTag = 5;//分页标签显示数量int startTag = 1;if(currentPage>showTag){startTag = currentPage-1;}int endTag = startTag+showTag-1;for(int i=startTag; i<=totalPage && i<=endTag; i++){if(currentPage==i)sb.append("<li><a><font color='#808080'>"+i+"</font></a></li>\n");elsesb.append("<li style=\"cursor:pointer;\"><a onclick=\"nextPage("+i+")\">"+i+"</a></li>\n");}if(currentPage==totalPage){sb.append("<li><a>下页</a></li>\n");sb.append("<li><a>尾页</a></li>\n");}else{sb.append("<li style=\"cursor:pointer;\"><a onclick=\"nextPage("+(currentPage+1)+")\">下页</a></li>\n");sb.append("<li style=\"cursor:pointer;\"><a onclick=\"nextPage("+totalPage+")\">尾页</a></li>\n");}sb.append("<li><a>第"+currentPage+"页</a></li>\n");sb.append("<li><a>共"+totalPage+"页</a></li>\n");sb.append("<li><select title='显示条数' style=\"width:55px;float:left;\" onchange=\"changeCount(this.value)\">\n");sb.append("<option value='"+showCount+"'>"+showCount+"</option>\n");sb.append("<option value='10'>10</option>\n");sb.append("<option value='20'>20</option>\n");sb.append("<option value='30'>30</option>\n");sb.append("<option value='40'>40</option>\n");sb.append("<option value='50'>50</option>\n");sb.append("<option value='60'>60</option>\n");sb.append("<option value='70'>70</option>\n");sb.append("<option value='80'>80</option>\n");sb.append("<option value='90'>90</option>\n");sb.append("<option value='99'>99</option>\n");sb.append("</select>\n");sb.append("</li>\n");sb.append("</ul>\n");sb.append("<script type=\"text/javascript\">\n");//换页函数sb.append("function nextPage(page){");sb.append("var str = '';\n");sb.append("str += '?currentPage=';\n");sb.append("str = str + page + \"&showCount="+showCount+"\";\n");sb.append("loadData(str);\n");sb.append("}\n");//调整每页显示条数sb.append("function changeCount(value){");sb.append("var str = '';\n");sb.append("str += \"?currentPage=1\";\n");sb.append("str += \"&showCount=\"+value;\n");sb.append("loadData(str);\n");sb.append("}\n");//跳转函数 sb.append("function toTZ(){");sb.append("var toPaggeVlue = document.getElementById(\"toGoPage\").value;");sb.append("if(toPaggeVlue == ''){document.getElementById(\"toGoPage\").value=1;return;}");sb.append("if(isNaN(Number(toPaggeVlue))){document.getElementById(\"toGoPage\").value=1;return;}");sb.append("nextPage(toPaggeVlue);");sb.append("}\n");sb.append("</script>\n");}pageStr = sb.toString();return pageStr;}public void setPageStr(String pageStr) {this.pageStr = pageStr;}public int getShowCount() {return showCount;}public void setShowCount(int showCount) {this.showCount = showCount;}public int getCurrentResult() {currentResult = (getCurrentPage()-1)*getShowCount();if(currentResult<0)currentResult = 0;return currentResult;}public void setCurrentResult(int currentResult) {this.currentResult = currentResult;}public boolean isEntityOrField() {return entityOrField;}public void setEntityOrField(boolean entityOrField) {this.entityOrField = entityOrField;}public List<T> getList() {return list;}public void setList(List<T> list) {this.list = list;}public String getField() {return field;}public void setField(String field) {this.field = field;}public Integer getField1() {return field1;}public void setField1(Integer field1) {this.field1 = field1;}public String getLastLoginStart() {return lastLoginStart;}public void setLastLoginStart(String lastLoginStart) {this.lastLoginStart = lastLoginStart;}public String getLastLoginEnd() {return lastLoginEnd;}public void setLastLoginEnd(String lastLoginEnd) {this.lastLoginEnd = lastLoginEnd;}public String getUSER_ID() {return USER_ID;}public void setUSER_ID(String uSER_ID) {USER_ID = uSER_ID;}}

0 0
原创粉丝点击