ssm整合之四 分页
来源:互联网 发布:高压清洗机品牌 知乎 编辑:程序博客网 时间:2024/06/06 00:37
package com.util;import java.util.List;/**类名:PageData.java创建人: zh修改人:完成功能:分页返回用*/public class PageData{ //列表private List list;//行数private int count;public PageData(){}public <T> PageData(int count,List<T> list){this.count=count;this.list=list;}public List getList() {return list;}public void setList(List list) {this.list = list;}public int getCount() {return count;}public void setCount(int count) {this.count = count;}}
package com.util;import java.io.UnsupportedEncodingException;import java.util.Enumeration;import javax.servlet.http.HttpServletRequest;public class PageUtil {private int recordCount,pageSize,pageNo;//总数量 每页显示数量 页数 private int pageCount=0;//总页数private String pageString,css="", url="";/** * 构造方法,初始化其他参数 * @param pageSize * @param pageNo * @param recordCount * @param request */public PageUtil(int pageSize,int pageNo,int recordCount,HttpServletRequest request){this.pageNo=pageNo;this.recordCount=recordCount;if(this.recordCount<0)this.recordCount=0;this.pageSize=pageSize;//链接地址this.url=request.getRequestURI()+"?";Enumeration pNames=request.getParameterNames(); while(pNames.hasMoreElements()){ String name=(String)pNames.nextElement(); if( name.equalsIgnoreCase("pageNo")==false ){ if(url.charAt(url.length()-1)=='?') url+=name+"="+request.getParameter(name); else url+="&"+name+"="+request.getParameter(name);} } if(url.charAt(url.length()-1)!='?') { url+="&"; }}/** * 计算拼接分页字符串 * @return */public String getPageString(){if(recordCount%pageSize==0){pageCount=recordCount/pageSize;}else{pageCount=recordCount/pageSize+1;}//当前页if(pageNo<1){pageNo=1;}//尾页if(pageNo>pageCount){pageNo=pageCount;}//上页和首页if (pageNo>1){pageString="<a href='"+url+"pageNo=1'><font class='"+css+"'>首页</font></a> ";pageString+="<a href='"+url+"pageNo="+(pageNo-1)+"'><font class='"+css+"'>上页</font></a> ";}else{pageString="<font class='"+css+"'>首页</font> ";pageString+="<font class='"+css+"'>上页</font> ";} pageString+="<font color=red>"+pageNo+"</font> ";//下页和尾页if(pageNo<pageCount){pageString+="<a href='"+url+"pageNo="+(pageNo+1)+"' class='"+css+"'>下页</a> ";pageString+="<a href='"+url+"pageNo="+pageCount+"' class='"+css+"'>尾页</a> ";}else{pageString+="<font class='"+css+"'>下页</font> ";pageString+="<font class='"+css+"'>尾页</font>";}//跳转页pageString+=" 转到第<select id=pageNo onchange=\"window.location.href='"+url+"pageNo='+this.value\">";;for(int i=1;i<=this.pageCount;i++) {if( pageNo==i) {pageString+="<option value="+i+" selected>"+i+"</option>";} else {pageString+="<option value="+i+">"+i+"</option>";}}pageString+="</select>页";return "<div align=center class="+css+">共"+pageCount+"页,"+recordCount+"条记录 "+pageString+"</div>";}public void setPageNo(int pageNo) {this.pageNo=pageNo;}public void setCss(String css) {this.css=css;}public void setUrl(String url) {this.url=url;}public static void main(String[] args) {System.out.println("abc".charAt("abc".length()-1));}}
Enumeration pNames=request.getParameterNames(); while(pNames.hasMoreElements()){ String name=(String)pNames.nextElement(); if( name.equalsIgnoreCase("pageNo")==false ){ if(url.charAt(url.length()-1)=='?') url+=name+"="+request.getParameter(name); else url+="&"+name+"="+request.getParameter(name);} } if(url.charAt(url.length()-1)!='?') { url+="&"; }
代码的作用详细说明如下:
如果去掉上面的一段枚举解析url的代码,点击下页会回到查询全部数据的情况。
正常带查询的坟茔应该是如下状态
1 0
- ssm整合之四 分页
- ssm整合之五 分页以及按时间查询
- 基于SSM整合的分页
- SSM整合之配置文件
- SSM之框架整合
- SSM之整合Redis
- SSM之分页模板
- SSM整合--ajax实现分页功能()
- SSM之WEB整合SpringMVC
- 整合ssm框架之配置文件
- JavaEE之SSM整合示例
- SSM整合之参数绑定
- SSM整合之数据校验
- SSM整合之分组校验
- SSM整合之异常处理
- SSM整合之RESTful支持
- SSM整合之拦截器
- Spring+Mybatis整合(1)- SSM(四)
- 分治算法主定理
- 用servlet实现微博小程序----注册
- HDOJ 2021 发工资咯:)
- code[vs] 1017乘积最大
- 566.Reshape the Matrix
- ssm整合之四 分页
- ajax使用formdata上传文件流
- 微信小程序跳转无效
- 失误的总结
- Android之自定义View以及画一个时钟
- 【技能库】--获取当天的0点和23点59分59秒(192)
- 12. Integer to Roman
- 多线程中不用start()而用run()的后果
- OI知识点