三大框架下分页源代码

时间:2018-03-27 10:05:01
【文件属性】:

文件名称:三大框架下分页源代码

文件大小:57KB

文件格式:DOC

更新时间:2018-03-27 10:05:01

分页

三大框架分页的实现: DAO里写法: //查出页面要显示的字段 -----分页代码 页面上的查询全部 public List page(Integer pageno) { // TODO Auto-generated method stub log.debug("find TblNewsclass instance"); try { String sql = "select new TblNews(id,title,pubdate,status) from TblNews"; Query query = getHibernateTemplate().getSessionFactory().getCurrentSession().createQuery(sql); query.setFirstResult(pageno); query.setMaxResults(3); //设置每页显示的条数 List result = query.list(); log.debug("delete successful"); return result; } catch (RuntimeException re) { log.error("delete failed", re); throw re; } } public Integer getRows() {//查询出数据库里的条数 // TODO Auto-generated method stub log.debug("find TblNewsclass instance"); try { String sql = "select count(*) from TblNews"; Query query = getHibernateTemplate().getSessionFactory().getCurrentSession().createQuery(sql); List list = query.list(); log.debug("delete successful"); return ((Long)list.get(0)).intValue(); } catch (RuntimeException re) { log.error("delete failed", re); throw re; } } Action里的代码实现: private Integer totalElements;//总记录数 private Integer pageNow=1;//当前页 private Integer pageSize=3;//当前页面的记录数 private Integer pageCount;//总页数 private Integer no; 上面就个成员变量再给个set()get()方法; //查询全部 public String findAll()throws Exception{ List list = newsService.page(getRowsno()); //参数是算出的页面的总条数 if(list.size()!=0){ ActionContext.getContext().put("news",list); return "findAllSuccess"; }else{ return ERROR; } } //分页算法 public Integer getRowsno(){ Integer totalElements = newsService.getRows(); pageCount = (totalElements + pageSize - 1) / pageSize;//计算出总页数 if(pageNow <1){ pageNow = 1; } if(pageNow > pageCount){ pageNow = pageCount; } no = (pageNow -1)*pageSize;//实际的记录开始数 return no; } Jsp页面写法:

/ 首页 上一页 上一页 下一页 下一页 尾页
配置文件里写 //tx标签代表时间传播 //切入 //这个名字要和action里定义的那个成员变量对应


网友评论