用JAVA实现一个分页类

王朝java/jsp·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

这里我以从一个用户表中查询用户信息为例演示其用法:

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<usersList.size();i++)

{

UserEO userEO=(UserEO)usersList.get(i);%>

<tr>

<td><a href=../../"view_user.do?id=<%=userEO.getId()%>"><%=userEO.getUsername()%></a></td>

<td><%=userEO.getName()%></td>

<td><%=userEO.getPhoneNumber()%></td>

<td><%=userEO.getEmailBox()%></td>

<td><%=userEO.getAddress()%></td>

<td><%=userEO.getPostcode()%></td>

</tr>

<%}%>

</table></td>

</tr>

</table>

<!-- 显示分页工具栏 -->

<%=pageResultSet.getToolBar("list_users.do")%>

注重:

1、假如你觉得分页工具栏不能满足你的要求,可以用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.*;

/**

* <p>Title: PageResultSet</p>

*

* <p>Description:分页类 </p>

*

* <p>Copyright: Copyright (c) 2004</p>

*

* <p>Company:youngor-studio(http://www.54youngor.com) </p>

* @author:伍维波

* @version 1.0

*/

public class PageResultSet {

/**

* 分页数据

*/

private Collection data = null;

/**

* 当前页

*/

private int curPage;

/**

* 每页显示的记录数

*/

private int pageSize;

/**

* 记录行数

*/

private int rowsCount;

/**

* 页数

*/

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航