通用分页组件

时间:2010-05-29 12:01:57
【文件属性】:

文件名称:通用分页组件

文件大小:15KB

文件格式:RAR

更新时间:2010-05-29 12:01:57

分页

1)该分页组件不依赖任何底层数据库实现,可以根据需要扩展子类进行动态替换;2)同时也不提供页面如何显示上页,下页等;内部提供了源代码实现,以及DEMO应用,实现分页非常简单;
需要做的工作有三个地方
1.继承实现分页的抽象类AbstractPage 的两个抽象方法;
2.调用WebPageUtils.doAction方法传入参数即可
3.直接获取需要满足条件的记录


下面举了一个例子来说明使用方法:

package org.hgg.hq.test;

import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;


import org.hqq.hq.impl.AbstractPage;
import org.hqq.hq.impl.ActionTypes;
import org.hqq.hq.impl.WebPageUtils;


public class DemoPage extends AbstractPage {
//根据要求返回从startRow开始的rowCount条记录,可以使用其他组件来实现或者 JDBC实现都可以
protected List acPageData(int startRow, int rowCount) {
List data=new ArrayList();
//4*2四行二列
String[][] rows={{"1","A"},{"2","B"},{"3","C"},{"4","D"}};
for(int i=1;i<=rowCount&&i<=acTotalRows();i++){
data.add(rows[startRow++]);
}
return data;
}
//返回满足条件的总记录条数
protected int acTotalRows() {

return 4;
}

public static void main(String[] args) {

//1.0得到一个实现的实例
DemoPage page=new DemoPage();
//2.0如果有必要,设置每页显示大小,这里设置每页显示3条记录
page.setPageSize(3);
//3.0 根据需要进行必要设置,这里是显示第2页数据
//根据情况,该方法后面两个参数可以从request中获取
WebPageUtils.doAction(page, ActionTypes.GO_SPECIAL_PAGE,2);
//4.0获取当前页数据
List data=page.getCurrentPageData();

for(Object t:data){
System.out.println(((String[])t)[0]+" : "+((String[])t)[1]);
}

}

}

如果是WEB页面上的分页可以直接使用
List data=WebPageUtils.acPageData(request,DemoPage.class);
就可以得到数据了,其中request中存放了ActionTypes中定义的各个动作;
例如
<\% String first= request.getContextPath()+"/fwgl/fycx.do?"+WebPageUtils.ACTION_TYPE+"="+ActionTypes.GO_FIRST_PAGE;
String next= request.getContextPath()+"/fwgl/fycx.do?"+WebPageUtils.ACTION_TYPE+"="+ActionTypes.GO_NEXT_PAGE;

%\>
\< \a href="javascript:window.location.href='<\%=first%\>'" class="List_operatelink"\>首页\
\<\a href="javascript:window.location.href='<\%=next%\>'" class="List_operatelink"\>下页\


页面上的显示实现不用做任何分页逻辑,只需简单定义 首页 上页 下页 到 页 即可,他们都在ActionTypes中定义。


【文件预览】:
page
----page.jar(17KB)

网友评论

  • 简单实用,还有用。
  • 还不错的,仔细看才弄懂
  • 很好的分页组件,不错
  • 简单实用,还不错。,练手还行!
  • 略微有点难啊,要仔细看看
  • 居然是jar文件的=-=郁闷
  • 有点复杂,不怎么好弄懂
  • 有点复杂,不怎么好弄懂
  • 有点复杂,不怎么好弄懂
  • 简单实用,还不错。
  • 代码很多,我要的是 struts 分页标签 生成的 分页效果.