分页显示源码 /** *//** * 分页显示所有课程 * * @param pageinfo */ public HashMap getCourse(PageInfo pageinfo) throws Exception ...{ HashMap hp = new HashMap(); String hsql = "select c from Courses as c order by c.id"; Query query = coursesDao.getQuery(hsql); int totalCount = pageinfo.getTatalCount(); int totalPage = pageinfo.getTotalpage(); int start = pageinfo.getStart(); totalCount = totalCount == -1 ? coursesDao.getTotalCount(hsql) : totalCount; totalPage = totalPage == -1 ? coursesDao.getTotalPage(totalCount, pageinfo.getPageSize()) : totalPage; query.setFirstResult(start); query.setMaxResults(pageinfo.getPageSize()); List list = query.list(); hp.put("courses", (Courses[]) list.toArray(new Courses[0])); hp.put("totalCount", new Integer(totalCount)); hp.put("totalPage", new Integer(totalPage)); return hp; } /** *//** * 分页显示所有选课历史 * @param pageinfo * @param stu_name */ public HashMap getStudentHistory(PageInfo pageinfo, String stu_name) throws Exception ...{ HashMap hp = new HashMap(); Students stu = this.getStudetFromName(stu_name); Integer stu_id = stu.getId(); Criteria criteria = coursesDao.getCriteria(History.class); criteria.createCriteria("student").add(Expression.eq("name", stu_name)); int totalCount = pageinfo.getTatalCount(); int totalPage = pageinfo.getTotalpage(); int start = pageinfo.getStart(); totalCount = totalCount == -1 ? criteria.list().size() : totalCount; totalPage = totalPage == -1 ? studentsDao.getTotalPage(totalCount, pageinfo.getPageSize()) : totalPage; criteria.setFirstResult(start); criteria.setMaxResults(pageinfo.getPageSize()); criteria.addOrder(Order.asc("id")); // criteria.addOrder(Order.desc("id")); List list = criteria.list(); hp.put("history", (History[]) list.toArray(new History[0])); hp.put("totalCount", new Integer(totalCount)); hp.put("totalPage", new Integer(totalPage)); return hp; }