Action做分页_第1页
Action做分页_第2页
Action做分页_第3页
Action做分页_第4页
Action做分页_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.Pager类 分页公共类功能:Pager类用于计算首页、前一页、下一页、尾页的在数据库中的起始行,当前的页码。package com.jpcf.db.helper;import java.math.*;public class Pager private int totalRows; /总行数 private int pageSize = 10; /每页显示的行数 private int currentPage; /当前页号 private int totalPages; /总页数 private int startRow; /当前页在数据库中的起始行 public Pager() public Pager(int _totalRows) totalRows = _totalRows; totalPages=totalRows/pageSize; int mod=totalRows%pageSize; if(mod0) totalPages+; currentPage = 1; startRow = 0; public int getStartRow() return startRow; public int getTotalPages() return totalPages; public int getCurrentPage() return currentPage; public int getPageSize() return pageSize; public void setTotalRows(int totalRows) this.totalRows = totalRows; public void setStartRow(int startRow) this.startRow = startRow; public void setTotalPages(int totalPages) this.totalPages = totalPages; public void setCurrentPage(int currentPage) this.currentPage = currentPage; public void setPageSize(int pageSize) this.pageSize = pageSize; public int getTotalRows() return totalRows; public void first() /首页 currentPage = 1; startRow = 0; public void previous() /上一页 if (currentPage = 1) return; currentPage-; startRow = (currentPage - 1) * pageSize; public void next() /下一页 if (currentPage totalPages) last(); 2.PagerHelp类 功能:PageHelper这个类,用于从页面上取得参数进行相应的业务逻辑处理package com.jpcf.db.helper;import javax.servlet.http.*;public class PagerHelper public static Pager getPager(HttpServletRequest httpServletRequest, int totalRows) /定义pager对象,用于传到页面 Pager pager = new Pager(totalRows); /从Request对象中获取当前页号 String currentPage=httpServletRequest.getParameter(currentPage); /如果当前页号为空,表示为首次查询该页 /如果不为空,则刷新pager对象,输入当前页号等信息 if (currentPage != null) pager.refresh(Integer.parseInt(currentPage); /获取当前执行的方法,首页,前一页,后一页,尾页。 String pagerMethod = httpServletRequest.getParameter(pageMethod); if (pagerMethod != null) if (pagerMethod.equals(first) pager.first(); elseif (pagerMethod.equals(previous)pager.previous(); else if (pagerMethod.equals(next)pager.next(); else if (pagerMethod.equals(last) pager.last();return pager; 3.部门DAO类中的方法 功能说明:利用hibernate中的 setFirstResult(parma)和.setMaxResults(parma)进行分页上线和下线的约束 /* * param pageSize 每页显示几条数据; * param startRow 从数据库哪条数据开始显示 */public List findWithPage(int startRow,int pageSize) List list = null;try list=getSession().createQuery(from Users).setFirstResult(startRow).setMaxResults(pageSize).list();System.out.println(list); catch (RuntimeException re) throw re ;return list;/* * 统计数据库中的记录 */public int getRows() int totalRows = 0;try getSession().getTransaction().begin();/查询语句select count(*) from VehicleProperty 也可以换成你需要的任意的条件(select count(*) from VehicleProperty where .)long number= (Long)getSession().createQuery(select count(*) from VehicleProperty).uniqueResult();totalRows=(int)number;getSession().getTransaction().commit(); catch (RuntimeException re) re.printStackTrace();getSession().getTransaction().rollback();throw re;return totalRows;4.Action 下面是在Action中用到的代码: public void findWithPage(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException int totalRows;/记录总行数 totalRows=dao.getRows(); try /通过PagerHelper类来获取用于输出到页面的pager对象 Pager pager=PagerHelper.getPager(request,totalRows); List list=(List)dao.findWithPage( pager.getStartRow(),pager.getPageSize(); request.setAttribute(list, list); request.setAttribute(totalPage, pager.getTotalPages(); request.setAttribute(currentPage, pager.getCurrentPage(); request.getRequestDispatcher(/jsp/view.jsp).forward(request, response); catch (Exception e) e.printStackTrace(); response.sendRedirect(request.getContextPath(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论