SSH分页+Mysql
来源:互联网 发布:影视特效飞天软件 编辑:程序博客网 时间:2024/06/06 03:57
结构+效果图
Page.java :
public class Page {/** 是否有上一页 */private boolean hasPrePage;/** 是否有下一页 */private boolean hasNextPage;/** 每页的数量 */private int everyPage;/** 总页数 */private int totalPage;/** 当前页 */private int currentPage;/** 起始点 */private int beginIndex;/** 总记录数 */private int totalCount;/** * @return totalCount */public int getTotalCount() {return totalCount;}/** * @param totalCount * 要设置的 totalCount */public void setTotalCount(int totalCount) {this.totalCount = totalCount;}/** The default constructor */public Page() {}/** * construct the page by everyPage * * @param everyPage * */public Page(int everyPage) {this.everyPage = everyPage;}/** The whole constructor */public Page(boolean hasPrePage, boolean hasNextPage, int everyPage,int totalPage, int currentPage, int beginIndex, int totalCount) {this.hasPrePage = hasPrePage;this.hasNextPage = hasNextPage;this.everyPage = everyPage;this.totalPage = totalPage;this.currentPage = currentPage;this.beginIndex = beginIndex;this.totalCount = totalCount;}/** * @return Returns the beginIndex. */public int getBeginIndex() {return beginIndex;}/** * @param beginIndex * The beginIndex to set. */public void setBeginIndex(int beginIndex) {this.beginIndex = beginIndex;}/** * @return Returns the currentPage. */public int getCurrentPage() {return currentPage;}/** * @param currentPage * The currentPage to set. */public void setCurrentPage(int currentPage) {this.currentPage = currentPage;}/** * @return Returns the everyPage. */public int getEveryPage() {return everyPage;}/** * @param everyPage * The everyPage to set. */public void setEveryPage(int everyPage) {this.everyPage = everyPage;}/** * @return Returns the hasNextPage. */public boolean getHasNextPage() {return hasNextPage;}/** * @param hasNextPage * The hasNextPage to set. */public void setHasNextPage(boolean hasNextPage) {this.hasNextPage = hasNextPage;}/** * @return Returns the hasPrePage. */public boolean getHasPrePage() {return hasPrePage;}/** * @param hasPrePage * The hasPrePage to set. */public void setHasPrePage(boolean hasPrePage) {this.hasPrePage = hasPrePage;}/** * @return Returns the totalPage. * */public int getTotalPage() {return totalPage;}/** * @param totalPage * The totalPage to set. */public void setTotalPage(int totalPage) {this.totalPage = totalPage;}@Overridepublic String toString() {return "Page [hasPrePage(是否有上一页)=" + hasPrePage+ ", hasNextPage(是否有下一页)=" + hasNextPage+ ", everyPage(每页的数量)=" + everyPage + ", totalPage(总页数)="+ totalPage + ", currentPage(当前页)=" + currentPage+ ", beginIndex(起始点)=" + beginIndex + ", totalCount(总记录数)="+ totalCount + "]";}}
PageUtil.java
public class PageUtil {/** * Use the origin page to create a new page * * @param page * @param totalRecords * @return */public static Page createPage(Page page, int totalRecords) {return createPage(page.getEveryPage(), page.getCurrentPage(),totalRecords);}/** * the basic page utils not including exception handler * * @param everyPage * @param currentPage * @param totalRecords * @return page */public static Page createPage(int everyPage, int currentPage, int totalRecords) {everyPage = getEveryPage(everyPage);currentPage = getCurrentPage(currentPage);int beginIndex = getBeginIndex(everyPage, currentPage);int totalPage = getTotalPage(everyPage, totalRecords);boolean hasNextPage = hasNextPage(currentPage, totalPage);boolean hasPrePage = hasPrePage(currentPage);return new Page(hasPrePage, hasNextPage, everyPage, totalPage,currentPage, beginIndex, totalRecords);}private static int getEveryPage(int everyPage) {return everyPage == 0 ? 10 : everyPage;}private static int getCurrentPage(int currentPage) {return currentPage == 0 ? 1 : currentPage;}private static int getBeginIndex(int everyPage, int currentPage) {return (currentPage - 1) * everyPage;}private static int getTotalPage(int everyPage, int totalRecords) {int totalPage = 0;if (totalRecords % everyPage == 0)totalPage = totalRecords / everyPage;elsetotalPage = totalRecords / everyPage + 1;return totalPage;}private static boolean hasPrePage(int currentPage) {return currentPage == 1 ? false : true;}private static boolean hasNextPage(int currentPage, int totalPage) {return currentPage == totalPage || totalPage == 0 ? false : true;}}
PageAction
public class PageAction extends ActionSupport {private StudentDAO studentDao = null;private List<Student> list = null;private Integer count = null;private Page page = null;private Integer everyPage = 3;// 默认每页显示3条数据private Integer currentPage = 1;// 默认显示第一页public Integer getEveryPage() {return everyPage;}public void setEveryPage(Integer everyPage) {this.everyPage = everyPage;}public Integer getCurrentPage() {return currentPage;}public void setCurrentPage(Integer currentPage) {this.currentPage = currentPage;}public void setStudentDao(StudentDAO studentDao) {this.studentDao = studentDao;}public List<Student> getList() {return list;}public void setList(List<Student> list) {this.list = list;}public Integer getCount() {return count;}public void setCount(Integer count) {this.count = count;}public Page getPage() {return page;}public void setPage(Page page) {this.page = page;}public String execute() throws Exception {page = PageUtil.createPage(everyPage, currentPage,studentDao.getProductCount());System.out.println(page);list = studentDao.getProductByPage(page);// 得到分页数据return "success";}}
DaoImpl
public List getProductByPage(final Page page) {return this.getHibernateTemplate().executeFind(new HibernateCallback() {public Object doInHibernate(Session session) throws HibernateException, SQLException {Query query = session.createQuery("from Student");query.setFirstResult(page.getBeginIndex());query.setMaxResults(page.getEveryPage());return query.list();}});}public int getProductCount() {List list = this.getHibernateTemplate().find("from Student");return list.size();}
jsp
<html> <head> <base href="<%=basePath%>"> <title>SSH分页案例</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--> </head> <body> <table align="center" border="1" width="100%"> <tr> <td align="center">ID</td> <td align="center">姓名</td> <td align="center">性别</td> <td align="center">年龄</td> <td align="center">学校</td> </tr> <c:forEach items="${list }" var="student"> <tr> <td align="center">${student.id }</td> <td align="center">${student.name }</td> <td align="center">${student.sex }</td> <td align="center">${student.age }</td> <td align="center">${student.school }</td> </tr> </c:forEach> </table><br> <div align="center"> 每页显示:<select onchange="window.location.href=this.options[selectedIndex].value"> <option value="pageAction?everyPage=3¤tPage=1">3</option> <option value="pageAction?everyPage=5¤tPage=1">5</option> <option value="pageAction?everyPage=8¤tPage=1">8</option> </select> 条 当前页数:[${page.currentPage }/${page.totalPage }]<c:if test="${page.currentPage>1 }"><a href="pageAction?currentPage=1">首页</a> <a href="pageAction?currentPage=${page.currentPage-1 }">上一页</a></c:if> <c:if test="${page.currentPage<page.totalPage }"><a href="pageAction?currentPage=${page.currentPage+1 }">下一页</a><a href="pageAction?currentPage=${page.totalPage }">末页</a></c:if>总记录数:${page.totalCount } 条</div> </body></html>
详细源码下载地址:http://download.csdn.net/detail/u014676619/9236741
1 0
- SSH分页+Mysql
- SSH分页
- ssh分页
- SSH分页
- SSH分页
- SSH分页
- SSH分页
- SSH分页
- ssh分页
- SSH分页
- ssh分页
- SSH分页
- SSH分页
- SSH分页(Hibernate分页查询)
- ssh 分页以及 分页样式
- SSH 框架分页代码
- ssh分页实例
- SSH分页技术实现
- Oracle 11g R2 用exp无法导出空表解决方法
- 海思mmz: section 2 reloc 30 sym 'printk': relocation 28 out of range问题解决
- iOS相册访问 ALAssetsLibrary(获取到相册的图片)+ 图片格式
- HDU 5534 (ACM 2015 长春) Partial Tree [基础DP]
- oracle查询所有表
- SSH分页+Mysql
- oracle job 定时执行 存储过程
- JAVA算法前言
- Unity3d 引擎原理详细介绍
- 1553B通讯软件设计RT客户端
- oracle认证考试:Oracle和SQLServer常用函数对比:
- 12299 - RMQ with Shifts
- Oracle 11g修改中文字符集
- 安装bugzilla