@RequestMapping(value = "list.action") public String list(HttpServletRequest request, HttpServletResponse response) { int _pageSize = 20;//每页显示数量 int _totalRecord = cmsArticleSer.countText();//总记录数 int _currentPage = 1;//当前页码 PageUtil page = new PageUtil(); // 当前页码 if (request.getParameter("pageNo") != null && !request.getParameter("pageNo").equals("")) { _currentPage = Integer.parseInt(request.getParameter("pageNo")); } page.setPageSize(_pageSize);// 每页显示的记录数量 page.setTotalRecord(_totalRecord);// 总记录数 page.setCurrentPage(_currentPage);// 当前页码 cu.setStart(page.getStart());//开始记录数 cu.setLimit(page.getPageSize());//一次提取多少条记录 List<Test> list = getTestList(cu); request.setAttribute("list", list); this.setPage(page, request); return "cms/list"; } public void setPage(PageUtil page, HttpServletRequest request) { // 每页显示的记录数量 request.setAttribute("pageSize", page.getPageSize()); // 总记录数 request.setAttribute("totalRecord", page.getTotalRecord()); // 当前页码 request.setAttribute("currentPage", page.getCurrentPage()); // 总页数 request.setAttribute("totalPage", page.getTotalPage()); // 当前页开始记录 request.setAttribute("currentStartRecord", page.getCurrentStartRecord()); // 当前页结束记录 request.setAttribute("currentEndRecord", page.getCurrentEndRecord()); // 向上翻页页码 request.setAttribute("upPage", page.getUpPage()); // 向下翻页页码 request.setAttribute("downPage", page.getDownPage()); } //数据库操作 @SuppressWarnings("unchecked") public List<Test> getTestList(TestUtil cu) { List<Test> list = new ArrayList<CmsArticle>(); StringBuffer sb = new StringBuffer(); try { sb.append("from Test "); Query query = this.getSession().createQuery(sb.toString()); query.setFirstResult(cu.getStart()); query.setMaxResults(cu.getLimit()); list = query.list(); } catch (Exception e) { System.out.println(e); } return list; } /** * 翻页类 1.首先设置 每页显示的记录数量 2.再次设置 总记录数 3.最后设置 当前页码 * * @author Administrator */ public class PageUtil { private int pageSize;// 每页显示的记录数量 private int totalRecord;// 总记录数 private int currentPage;// 当前页码 // *********************************************** private int totalPage;// 总页数 private int currentStartRecord;// 当前页开始记录 private int currentEndRecord; // 当前页结束记录 private int start;// 开始记录 private int end;// 结束记录 private int upPage;// 向上翻页页码 private int downPage;// 向下翻页页码 public int getPageSize() { return pageSize; } /** * 设置每页显示的记录数量 * * @param pageSize */ public void setPageSize(int pageSize) { this.pageSize = pageSize; } public int getTotalRecord() { return totalRecord; } /** * 设置总记录数 */ public void setTotalRecord(int totalRecord) { this.totalRecord = totalRecord; // 设置总页数 int _totalPage = 1; if (getTotalRecord() % getPageSize() == 0) { // 如果总记录数除以每页显示条数可以整除,商就是总页码 _totalPage = this.getTotalRecord() / this.getPageSize(); } else { // 如果总记录数除以每页显示条数不能整除,商加1才是总页码 _totalPage = this.getTotalRecord() / this.getPageSize() + 1; } if (_totalPage < 1) { _totalPage = 1; } this.setTotalPage(_totalPage); } public int getCurrentPage() { return currentPage; } /** * 设置页码 */ public void setCurrentPage(int currentPage) { if (currentPage > this.getTotalPage()) { this.currentPage = this.getTotalPage(); } else { this.currentPage = currentPage; } // 设置当前页开始记录 int _currentStartRecord = 0; if (this.getTotalRecord() != 0) { _currentStartRecord = (this.getCurrentPage() - 1) * this.getPageSize() + 1; } if (_currentStartRecord < 0) { _currentStartRecord = 0; } this.setCurrentStartRecord(_currentStartRecord); // 设置当前页结束记录 int _currentEndRecord = this.getCurrentPage() * this.getPageSize(); if (_currentEndRecord > this.getTotalRecord()) { _currentEndRecord = this.getTotalRecord(); } this.setCurrentEndRecord(_currentEndRecord); // 开始记录 int _start = (this.getCurrentPage() - 1) * this.getPageSize(); if (_start < 0) { _start = 0; } this.setStart(_start); // 结束记录 int _end = this.getCurrentPage() * this.getPageSize(); if (_end > this.getTotalRecord()) { _end = this.getTotalRecord(); } this.setEnd(_end); // 向上翻页页码 int _upPage = this.getCurrentPage() - 1; if (_upPage < 1) { _upPage = 1; } this.setUpPage(_upPage); // 向下翻页页码 int _downPage = this.getCurrentPage() + 1; if (_downPage > this.getTotalPage()) { _downPage = this.getTotalPage(); } this.setDownPage(_downPage); } public int getTotalPage() { return totalPage; } public void setTotalPage(int totalPage) { this.totalPage = totalPage; } public int getCurrentStartRecord() { return currentStartRecord; } public void setCurrentStartRecord(int currentStartRecord) { this.currentStartRecord = currentStartRecord; } public int getCurrentEndRecord() { return currentEndRecord; } public void setCurrentEndRecord(int currentEndRecord) { this.currentEndRecord = currentEndRecord; } public int getStart() { return start; } public void setStart(int start) { this.start = start; } public int getEnd() { return end; } public void setEnd(int end) { this.end = end; } public int getUpPage() { return upPage; } public void setUpPage(int upPage) { this.upPage = upPage; } public int getDownPage() { return downPage; } public void setDownPage(int downPage) { this.downPage = downPage; } }
jsp页面
<table width="93%" height="39" border="0" align="center"cellpadding="0" cellspacing="0" class="title_bg"> <tr> <td> <form id="qbmh_list_form" name="qbmh_list_form" method="post" action="list2.action"> <c:if test="${currentPage == '1'}"> 首页 </c:if> <c:if test="${currentPage != '1'}"> <a href="javascript: gotoPage('1')">首页</a> <a href="javascript: gotoPage('${upPage}')">上一页</a> </c:if> 第<input name="pageNo" id="pageNo" type="text" class="testpage" value="${currentPage}" />页 共${totalRecord}条记录 每页${pageSize}条记录 共${totalPage}页 第${currentStartRecord}条—第${currentEndRecord}条 记录 <c:if test="${currentPage != totalPage}"> <a href="javascript: gotoPage('${downPage}')">下一页<a href="javascript: gotoPage('${totalPage}')">尾页</a> </c:if> <c:if test="${currentPage == totalPage}"> 尾页 </c:if> </form> </td> </tr> </table>
<script type="text/javascript" language="javascript"> //键盘捕捉 function document.onkeydown(){ //回车 if(event.keyCode == '13'){ var _pageNo = document.getElementById("pageNo").value; gotoPage(_pageNo); } } //翻页 function gotoPage(pageNo){ var re = /^[1-9]\d*$/; if (!re.test(pageNo)) { pageNo="1"; } document.getElementById("pageNo").value=pageNo; document.getElementById("qbmh_list_form").submit(); } </script>
发表评论
-
Spring的JdbcTemplate对数据库的增删改操作(备忘)
2013-08-06 23:19 870import org.springframework.jd ... -
CXF 配置备忘
2012-09-11 11:32 857服务端配置: web.xml <web-app&g ... -
java获取明天的日期
2012-08-30 16:14 19427public static void main(Strin ... -
java 字符串日期转换成人性化格式
2012-08-06 11:40 984/** * 转换日期格式 * * @param d ... -
JSTL 标签输出java List<List>
2012-08-03 12:05 985<c:forEach var="zcdCh ... -
[转]java代码实现15位身份证号码升级到18位
2012-08-02 12:38 1265原文地址:http://blog.csdn.net/mhmyq ... -
[转]java实现的18位身份证格式验证算法
2012-08-02 12:38 856原文地址:http://fanqiang.chinaunix. ... -
[转]java实现—身份证号码验证
2012-08-02 12:38 843原文地址:http://akunamotata.iteye.c ... -
[转]java验证身份证号码及编码规则和提取相应信息
2012-08-02 12:37 1234原文地址:http://dreams75.iteye.com/ ... -
Java图片/文件下载+Hibernate+Oracle数据库Blob字段类型
2012-08-02 12:37 1250@RequestMapping(value = " ... -
ExtJs+Spring+Hibernate上传文件/图片到Oracle数据库Blob字段类型
2012-08-01 12:19 3201ExtJs: var fatj_form = new Ex ... -
Java操作数据库工具类
2012-08-01 12:19 1525import java.sql.Connection; ... -
Java读取properties文件工具类
2012-08-01 12:19 1462//DB.properties文件 className= ... -
J2EE项目代码编写规范[转]
2012-07-25 17:01 713代码编写规范目的:能够在编码过程中实现规范化,为以后的程序开发 ... -
常用数据库的JDBC连接代码
2012-07-25 17:01 851数据库 连接代码 M ... -
我的Jdon安装第三步出错解决
2012-07-25 17:01 830因为jive论坛是个很有名开放源代码的论坛,从2.1版本以后开 ...
相关推荐
### 通用的JSP翻页工具类解析 在Web开发中,为了提高用户体验及服务器性能,数据分页是一项常见的技术需求。特别是在展示大量数据时,合理的分页处理能有效提升应用性能并改善用户界面的友好性。本文将详细介绍一个...
本篇文章将详细探讨Java中的分页工具类及其核心实现原理。 首先,我们要理解什么是分页。分页是一种将大量数据分割成若干小部分(页)来展示的技术,每一页包含一定数量的数据,用户可以通过翻页来查看更多的记录。...
Java分页工具类是开发中常见的一种实用工具,主要用于处理大量数据时的分页显示,以提高用户体验并减轻服务器压力。在Java世界里,我们通常会遇到如MyBatis、Hibernate等ORM框架,它们虽然提供了分页功能,但在某些...
PageTab类就是为实现这一功能而设计的一个翻页工具类。它包含了上一页、下一页、跳转页、首页和尾页等操作,便于开发者在不同场景下进行灵活的数据展示。 首先,我们来理解一下分页的基本概念。分页是将大数据集...
接下来,我们创建一个Java工具类来实现HTML转PDF的功能。首先,定义一个方法,接受HTML字符串作为输入,然后使用ITextRenderer生成PDF: ```java import org.xhtmlrenderer.pdf.ITextRenderer; import java.io....
在Android平台上,自动翻页工具是一种能够模拟用户手动翻页动作的应用程序,它通常用于自动化测试,特别是对于阅读类应用或者电子书籍应用的性能、稳定性和用户体验的验证。本项目标题为“android版自动翻页工具”,...
4. **多页顺序打印**:实现ZPL的翻页功能,可以利用多个^XZ和^XA组合,每个^XZ代表一个标签的结束,^XA则开启新的标签。通过Java程序控制发送ZPL指令的顺序,确保标签按预期顺序打印。 5. **处理错误和异常**:在...
1. JDBC基础:Java标准API中的JDBC(Java Database Connectivity)提供了与数据库交互的接口和类。通过`Statement`或`PreparedStatement`对象执行SQL语句,并使用`ResultSet`对象获取结果。 2. 分页查询SQL构造:...
为了实现这样的模块,开发者通常会使用Java的ZipFile类来处理ZIP压缩包,使用JAXB或DOM4J来解析XML,使用Jsoup或类似的库来处理HTML内容。同时,可能会使用线程池来并发处理文件,提高整体解析速度。 总的来说,...
在Java编程领域,工具类(Utils)是程序员为了提高代码复用性和简化代码而创建的一类特殊类。这些类通常包含一系列静态方法,用于执行特定的任务。在这个名为"utils_java_page_usjz9_"的压缩包中,我们可以推测它...
5. **日历视图**: 为了显示月份和年份,开发者可能使用了Java中的Calendar类或java.time包中的类,如YearMonth,来处理日期计算和展示。同时,为了实现上下翻页,需要编写对应的事件处理器,监听用户的翻页操作并...
### Java页面查询结果分页知识点解析 在进行数据库操作时,数据量往往非常庞大,将所有数据一次性加载到前端展示不仅会加重服务器负担,降低用户体验,还可能导致浏览器卡顿甚至崩溃。因此,分页技术成为了处理大...
考虑到标签中提到的"源码"和"工具",博主可能分享了一段Java代码(PageHandle.java)作为示例,展示如何编写一个处理分页逻辑的类或方法。 首先,我们来看看逻辑分页的基本流程。当用户请求某一页时,应用程序会计...
在Android平台上实现PDF的翻页效果是一项常见的任务,特别是在开发阅读类应用时。这个话题涉及到多个技术点,包括PDF解析、动画渲染以及用户交互。以下是对这个主题的详细阐述: 1. **PDF解析**:首先,我们需要一...
MyPagination可能是该项目中的核心类或模块,它可能包含了翻页的核心逻辑,如计算每页的记录数、处理翻页请求、以及与数据库的交互等。这个类可能会有如下的方法: 1. `getPageCount()`: 计算总的页数,通常基于总...
在项目中,你可以选择一个适合的PDF库,结合Java GUI框架(如Swing或JavaFX),构建一个用户友好的界面,提供翻页、缩放等基本操作。同时,注意性能优化和安全性的考量,以提供流畅且安全的PDF预览体验。
Java作为一种跨平台的编程语言,提供了多种库和工具来处理PDF文件。 在您提供的描述中,提到了一个简单的流程来运行这个Java PDF阅读器项目: 1. **下载并解压文件**:首先,你需要下载这个压缩包,然后将其解压缩...
可以使用Java中的Graphics类进行绘图操作,实现自定义的阅读界面效果。 四、电子书格式支持 电子书格式多样,如EPUB、PDF、MOBI等。对于Java阅读器,最常见的是支持TXT和JAR格式,因为它们轻量级且易于处理。开发者...
首先,MyBatis Generator (MBG) 是一个工具,它能够自动生成MyBatis的Mapper接口、XML映射文件以及对应的Java实体类。这大大减少了手动编写这些代码的工作量。MBG支持多种数据库,包括MySQL、Oracle等,并且可以通过...
综上所述,这个资源为Java开发者提供了一个可以快速实现类似iPhone翻页效果的工具,通过源码和Jar包,开发者不仅可以直接使用,还可以学习和定制,以满足特定项目的需要。在实际应用中,它可以提升应用的用户界面...