public class PageUtil {
private int pageSize;//每页显示的条数
private int recordCount;//总共的条数
private int currentPage;//当前页面
public PageUtil(int pageSize, int recordCount, int currentPage) {
this.pageSize = pageSize;
this.recordCount = recordCount;
setCurrentPage(currentPage);
}
//构造方法
public PageUtil(int pageSize, int recordCount) {
this(pageSize, recordCount, 1);
}
//总页数
public int getPageCount() {
int size = recordCount/pageSize;//总条数/每页显示的条数=总页数
int mod = recordCount % pageSize;//最后一页的条数
if(mod != 0)
size++;
return recordCount == 0 ? 1 : size;
}
//包含,起始索引为0
public int getFromIndex() {
//System.out.println("from index:"+(currentPage-1) * pageSize);
return (currentPage-1) * pageSize;
}
//不包含
public int getToIndex() {
//System.out.println("to index:"+Math.min(recordCount, currentPage * pageSize));
return Math.min(recordCount, currentPage * pageSize);
}
//得到当前页
public int getCurrentPage() {
return currentPage;
}//设置当前页
public void setCurrentPage(int currentPage) {
int validPage = currentPage <= 0 ? 1 : currentPage;
validPage = validPage > getPageCount() ? getPageCount() : validPage;
this.currentPage = validPage;
}//得到每页显示的条数
public int getPageSize() {
return pageSize;
}//设置每页显示的条数
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}//得到总共的条数
public int getRecordCount() {
return recordCount;
}//设置总共的条数
public void setRecordCount(int recordCount) {
this.recordCount = recordCount;
}
}
--------------------------------------------
下面的代码是放在jsp里面的
--------------------------------------------
<%
PublishersDAO dao = PublishersDAO.getInstance();
List records = dao.getModels();
String pageStr = request.getParameter("page");
int currentPage = 1;
if (pageStr != null)
currentPage = Integer.parseInt(pageStr);
PageUtil pUtil = new PageUtil(10, records.size(), currentPage);
currentPage = pUtil.getCurrentPage();
%>
-----------下面这个是放在有变量的上面---------------------------------
<%
for (int i = pUtil.getFromIndex(); i < pUtil.getToIndex(); i++) {
PublisherModel model = (PublisherModel) records.get(i);
%>
中间是删除修改之类的代码
<%}%>
------------这个是结尾的--------------------------
<tr><td width=100% bgcolor="#eeeeee" colspan=4 align="center">
记录总数<%=pUtil.getRecordCount()%>条 当前页/总页数<%=currentPage%>
/<%=pUtil.getPageCount()%>每页显示<%=pUtil.getPageSize()%>条
<a href="publishers.jsp?page=1">首页</a>
<a href="publishers.jsp?page=<%=(currentPage - 1)%>">上页</a>
<a href="publishers.jsp?page=<%=(currentPage + 1)%>">下页</a>
<a href="publishers.jsp?page=<%=pUtil.getPageCount()%>">末页</a>
</td></tr>
分享到:
相关推荐
6. **源码可用**:由于项目托管在GitHub上,这意味着开发者开放了源代码,其他开发者可以学习和参考其实现,甚至可以根据自己的需求进行二次开发。 通过使用这个优化后的分页控制器,开发者可以提高他们的iOS应用的...
本资料压缩包包含了"安全生产责任制度"和"安全生产各项制度"的详细内容,旨在提供一个全面的参考框架,帮助企业和组织建立健全的安全管理体系。 安全生产责任制度是企业安全工作的重要基石,它明确了各级管理人员、...
`pagerTaglibDemo.rar`可能包含了一个演示如何自定义和使用`pager-taglib`的示例项目,你可以解压后参考学习。 ### 5. 其他相关知识点 - JSP标签库:`pager-taglib`是基于JSP 2.0的自定义标签库,它是JSP的一种...
虽然提供的压缩包文件列表中没有具体的代码示例,但在实际开发中,开发者可以通过查阅官方文档或参考已有的示例代码来学习如何使用"pagination"插件。例如,可以在CSDN博客中找到相关文章(如链接所示),获取更详细...
在iOS开发中,滚动视图(UIScrollView)是一种非常常见的组件,它允许用户通过滑动来查看超出屏幕范围的内容。在“ios-分页滚动,控制器...如果你正在开发类似的特性,这个项目和提供的源代码将是一个宝贵的参考资源。
分享给大家供大家参考,具体如下: 使用bootstrap-table实现后台分页 插件资源点击此处本站下载。 引用以下css <link rel="stylesheet" href="../plugins/bootstrap/css/bootstrap.min.css" rel="external no...
阅读此文档可以帮助用户和工程师更深入地理解设备的工作机制,提高工作效率,同时也能为设备的改进和升级提供参考。 总的来说,"分页纸张紧固夹"的设计融合了机械工程、电子技术、材料科学以及人机工程学等多个领域...
这个文本文件可能包含了laypage组件的使用说明、示例代码以及API参考,是学习和解决问题的重要资源。 总的来说,laypage分页组件凭借其丰富的功能和易用性,成为了JavaScript分页领域的一个优秀选择。无论是初学者...
综上所述,"java-web-mysql 分页demo"涵盖了从数据库分页查询到Java后端处理再到前端展示的完整流程,为开发者提供了一个实战参考。通过学习和实践,可以深入理解Java Web应用中的分页实现技术。
**Pager-taglib页面分页示例** 在Java Web开发中,数据量大的时候,分页显示是非常必要的。...这个示例项目展示了如何集成和使用Pager-taglib,对于学习和理解Java Web分页技术具有很好的参考价值。
更多详细的配置选项和使用示例,可以参考官方文档或作者的博客,那里通常会有详尽的介绍和实例代码,帮助你更好地理解和使用Bootstrap Paginator。 通过以上内容,你应该对Bootstrap Paginator有了全面的认识。在...
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,...
参考 `jQuery UI` 的主题生成器,或直接修改 CSS 文件,调整颜色、边框、字体等属性。 6. **性能优化** 对于大量数据,考虑使用懒加载或无限滚动策略,只在用户需要时加载相应标签页的内容,以提高页面性能。 7. ...
安装使用说明:**`pager-taglib的安装和使用.txt`文件会详细介绍上述所有步骤,包括可能遇到的问题和解决方案,是成功使用此组件的关键参考资料。 总的来说,pager-taglib-2.0是一个用于简化JSP页面分页实现的工具...
在本文中,我们将深入探讨如何使用Swiper这个流行的JavaScript滑动插件来自定义分页器,特别是将其设计成...在实际开发中,可以参考提供的`swiper_custom_pagination`压缩包中的代码示例,结合自身需求进行调整和扩展。
这个工程是免费的(也可以认为开源) 里面使用了dhtml tree grid 很多地方用了tree 而grid目前只剩下角色管理列表了 后续也不想再用grid了 你可以参考 如果不想麻烦 那么就接着往下看 4 在它的免费版中(就是可以...
MyBatis-Plus 是 MyBatis 的一个扩展,它提供了许多增强功能,使得...在提供的 `mybatis-plus-demo-main` 压缩包中,应该包含了这些文件的示例代码,你可以参考这些代码来学习和理解 MyBatis-Plus 分页查询的具体实现。
Struts2分页是Web开发中的一个重要概念,它主要用于处理大量数据时,避免一次性加载所有数据导致页面响应慢或者浏览器崩溃。在这个场景中,我们提到的是使用自定义标签实现类似于百度分页的效果,这是一种常见的用户...
《jQuery 3D分页翻转...在实际项目中,"jiaoben587"可能是代码示例或模板的名称,你可以参考这个资源来学习或直接应用到自己的项目中。记住,不断实践和调试是掌握此类技术的关键,祝你在网页开发的道路上越走越远!
本压缩包"其他分页实现源码参考Demo"提供了一种C#分页实现的示例代码,以下是对这个Demo的详细解析和相关知识点的介绍。 1. 分页概念: 分页是将大量数据分为若干小部分,每次只加载一部分到内存中进行显示和操作...