这里我以从一个用户表中查询用户信息为例演示其用法:
1.将PageResultSet.java文件编译成class文件并放入你的Web应用程序的WEB-INF/classes/com/youngor/util目录下,可以对包名做相应修改。
2.在你的Action类中:
先从业务处理逻辑类中取出数据(ArrayList或Vector格式)
UserBO userBO=new UserBO();
Collection data=userBO.findUsers();//示例方法
再得到当前页curPage和每页记录数pageSize
int curPage = Integer.parseInt(request.getParameter(“cur_page“));
int pageSize=15;
然后生成PageResultSet对象
PageResultSet dataList = new PageResultSet(data, curPage, pageSize);
request.setAttribute("usersList", usersList);
3.在你的JSP页面中:
<%
PageResultSet pageResultSet=(PageResultSet)request.getAttribute("usersList");
ArrayList usersList=(ArrayList)pageResultSet.getData();
for(int i=0;i
{
UserEO userEO=(UserEO)usersList.get(i);%>
<%=userEO.getUsername()%>
<%=userEO.getName()%>
<%=userEO.getPhoneNumber()%>
<%=userEO.getEmailBox()%>
<%=userEO.getAddress()%>
<%=userEO.getPostcode()%>
<%}%>
<%=pageResultSet.getToolBar("list_users.do")%>
注意:
1、如果你觉得分页工具栏不能满足你的要求,
q网管(Evp;育H9p,
可以用PageResultSet类中的公共方法
first()、previous()、next()、last()定制自己的工具栏,并且,你还可以在PageResultSet中定义多个样式的工具栏;
2、getToolBar(String url)方法接受带查询字符串的参数,比如“list_users.do?class_id=1“。
//PageResultSet.java
package com.youngor.util;
import java.util.*;
/**
*
Title: PageResultSet
*
*
Description:分页类
*
*
Copyright: Copyright (c) 2004
*
*
Company:youngor-studio(http://www.54youngor.com)
* @author:伍维波
* @version 1.0
*/
public class PageResultSet {
/**
* 分页数据
*/
private Collection data = null;
/**
* 当前页
*/
private int curPage;
/**
* 每页显示的记录数
*/
private int pageSize;
/**
* 记录行数
*/
private int rowsCount;
/**
* 页数
*/
private int pageCount;
public PageResultSet(Collection data) {
this.data = data;
this.curPage = 1;
this.pageSize = 10;
this.rowsCount = data.size();
this.pageCount = (int) Math.ceil((double) rowsCount / pageSize);
}
public PageResultSet(Collection data, int curPage) {
this.data = data;
this.curPage = curPage;
this.pageSize = 10;
this.rowsCount = data.size();
this.pageCount = (int) Math.ceil((double) rowsCount / pageSize);
}
public PageResultSet(Collection data, int curPage, int pageSize) {
this.data = data;
this.curPage = curPage;
this.pageSize = pageSize;
this.rowsCount = data.size();
this.pageCount = (int) Math.ceil((double) rowsCount / pageSize);
}
/**
* getCurPage:返回当前的页数
*
* @return int
*/
public int getCurPage() {
return curPage;
}
/**
* getPageSize:
.vf]Y5{p}BuC"W
返回分页大小
*
* @return int
*/
public int getPageSize() {
return pageSize;
}
/**
* getRowsCount:8NsAX教t$nT"TQ返回总记录行数
*
* @return int
*/
public int getRowsCount() {
return rowsCount;
}
/**
* getPageCount:返回总页数
*
* @return int
*/
public int getPageCount() {
return pageCount;
}
/**
* 第一页
* @return int
*/
public int first() {
return 1;
}
/**
* 最后一页
* @return int
*/
public int last() {
return pageCount;
}
/**
* 上一页
* @return int
*/
public int previous() {
return (curPage - 1 < 1) ? 1 : curPage - 1;
}
/**
* 下一页
* @return int
*/
public int next() {
return (curPage + 1 > pageCount) ? pageCount : curPage + 1;
}
/**
* 第一页
* @return boolean
*/
public boolean isFirst() {
return (curPage==1)?true:false;
}
/**
* 第一页
* @return boolean
*/
public boolean isLast() {
return (curPage==pageCount)?true:false;
}
/**
* 获取当前页数据
* @return Collection
*/
public Collection getData() {
Collection curData = null;
if (data != null) {
int start = (curPage - 1) * pageSize;
int end = 0;
if (start + pageSize > rowsCount)
end = rowsCount;
else
end = start + pageSize;
ArrayList arrayCurData = new ArrayList();
ArrayList arrayData = null;
Vector vectorCurData = new Vector();
Vector vectorData = null;
boolean isArray = true;
if (data instanceof ArrayList) {
arrayData = (ArrayList) data;
isArray = true;
} else if (data instanceof Vector) {
vectorData = (Vector) data;
isArray = false;
}
for (int i = start; i < end; i++) {
if (isArray) {
arrayCurData.add(arrayData.get(i));
} else {
vectorData.add(vectorData.elementAt(i));
}
}
if (isArray) {
curData = (Collection) arrayCurData;
} else {
curData = (Collection) vectorCurData;
}
}
return curData;
}
/**
* 获取工具条
* @return String
*/
public String getToolBar(String fileName){
String temp="";
if(fileName.indexOf("?")==-1)
{
temp="?";
}
else
{
temp="&";
}
String str="
";
str+="
";
if(isFirst())
str+="首页 上一页 ";
else
{
str+="首页 ";
str+="上一页 ";
}
if(isLast())
str+="下一页 尾页 ";
else
{
str+="下一页 ";
str+="尾页 ";
}
str+=" 共"+rowsCount+"条记录 ";
str+=" 转到
";
return str;
}
}
分享到:
相关推荐
在网页开发中,分页功能是一项非常常见的需求,特别是在数据量较大的情况下,为了提高用户体验,我们需要将大量数据分批次展示,这就是jsp实现分页功能的主要目的。本篇将详细介绍如何利用jsp来完成这一任务。 首先...
总结来说,使用JSP实现分页显示涉及数据库查询、页面设计、请求处理和数据渲染等多个步骤。通过合理的设计和实现,可以为用户提供高效、便捷的浏览体验。在实际开发中,还需要考虑安全性、性能优化以及适应不同设备...
"jsp.rar_jsp 分页_jsp分页_jsp实现分页_分页"这个压缩包显然包含了一套完整的 JSP 分页解决方案。下面我们将详细探讨 JSP 实现分页的相关知识点。 1. **JSP基本概念**: JSP 是一种基于 Java 的服务器端脚本语言...
本教程将详细讲解如何使用JSP实现分页功能。 一、JSP分页原理 JSP分页的基本思想是通过服务器端处理数据,根据当前页码将所需的数据分块发送到客户端。通常,我们需要知道总记录数、每页显示的记录数以及当前页码。...
在这个"jsp实现分页案例"中,我们将探讨如何利用Java、MySQL数据库和JDBC(Java Database Connectivity)来实现前端界面的简单分页。 首先,我们要理解JSP(JavaServer Pages)的角色。JSP是一种动态网页技术,允许...
数据库用的是MYSQL 1)先建立一个weiye库 , 2)再建立一个测试表(可以直接导入Test.sql) 3) 连接数据的URL得根据你的实际情况改...本例是用一个JSP实现分页完整的小例子。本人测试通过的,麻雀虽小,五脏俱全!
本教程将深入探讨如何使用JSP实现分页功能,这对于处理大量数据的展示至关重要,例如在电子商务网站、论坛或者博客中。JSP分页能够提高用户体验,避免一次性加载过多的数据导致页面响应慢。 一、JSP分页基础 1. ...
总结来说,JSP实现分页功能主要涉及前端请求处理、后端数据计算、SQL查询以及页面呈现。通过结合Servlet和JSP,以及适当的Java类,可以构建出高效且易于维护的分页系统。提供的`最好用的分页代码(java版)`文件应该...
本文将深入讲解如何使用JSP实现分页和页面跳转功能,并基于提供的源代码进行解析。 分页是网页展示大量数据时常用的一种策略,它可以提高用户体验,避免一次性加载过多信息导致页面响应变慢。JSP分页通常涉及以下几...
在本篇我们将深入探讨如何使用JSP实现分页和翻页技术。 首先,理解分页的基本概念。分页是指将大量的数据分成若干个较小的部分,每个部分称为一页,用户可以通过点击页码或导航按钮来切换不同的页面。在JSP中,我们...
使用JSP实现查询分页,不仅需要理解其背后的逻辑,还需要熟练掌握Java和SQL语句的编写,以及如何在JSP中嵌入和执行这些代码。通过合理的分页策略,可以显著提升大型数据集的网页展示效率和用户体验。希望本文能够...
总结起来,使用JSP实现分页代码涉及到数据库查询、参数处理、页面渲染等多个环节。通过合理的代码组织和利用JSP标签库,可以创建出高效、可维护的分页功能,提高用户在大数据量场景下的浏览体验。在实际项目中,还应...
以上就是使用JSP实现分页的基本步骤和注意事项,无论你是初学者还是有经验的开发者,理解这些知识都能帮助你更好地处理大数据量的展示问题。通过实践,你可以进一步掌握分页技术,提升Web应用的用户体验。
在这个主题中,我们将深入探讨"jsp实现分页,实现状态管理,实现文件上传"这三个关键知识点。 首先,我们来看**分页**。在Web应用中,当数据量过大时,分页是必不可少的,它能帮助用户更高效地浏览和管理信息。在...
本资源包“jsp实现分页和页面跳转功能的源码与数据库”提供了实现这两个关键功能的实例,旨在帮助开发者理解并掌握在实际项目中的应用。 一、分页功能 分页是大型Web应用中常见的功能,它允许用户逐步浏览大量的...
总结来说,Java连接MySQL数据库并通过JSP实现分页功能涉及以下几个关键步骤:配置JDBC驱动,建立数据库连接,编写SQL查询,处理分页逻辑,以及在JSP中展示数据和创建导航链接。这些基础知识是构建Web应用程序的重要...
简单的描述了jsp实现分页的技术!jsp实现分页 totalNum获得数据的总记录数 获取最大页数 maxPage if(totalNum==0){ maxPage=1; }else if(totalNum%size==0){ maxPage=totalNum/size; }else{ maxPage=...
以上就是通过Java、Oracle存储过程和JSP实现分页的基本流程。在实际项目中,可能还需要考虑更多细节,如错误处理、性能优化(如使用索引、避免全表扫描)以及用户体验优化(如加载提示、动态加载等)。理解并掌握这...