Java实现真分页.自己领悟.

oracle+java实现的真分页.每一页数据都是一次查询.
jar包里面有源码.个人下载个反编译的工具自己查看吧,

引入jstl文件


<%@taglib uri="http://java.sun.com/jsp/xx" prefix="xx"%>

<xx:catch path="pageArea.action"></xx:catch>


xx可以自己命名.

数据库组串方法:

	
public static String genSql(String sql, PageProcess page) {

int currentRow = page.getCurrentRow() + 1;
int pageRow = page.getCurrentRow() + page.getPageRow();

return sql = "select * from (select a.*,rownum row_num from "
+ "("+ sql + ")a)b where b.row_num between " + currentRow
+ " and "+ pageRow;
}

PageProcess 是jar包里的对象.

第一次进行查询需要action调用自己写的view方法:
	public String view() throws Exception {

conditions=" and a1.areaId !='0' ";
orderBy=" order by areaSelId desc";
PageProcess page = new PageProcess();
HttpSession session = request.getSession();

area = new TbVArea();
int rows = areaService.getAreaRowNum(area);
page.setRowNum(rows);
areaList = areaService.viewArea(page, orderBy, conditions, area);
int curr = Integer.valueOf(page.getCurrentPage()).intValue() - 1;
int paeRow = page.getPageRow();
int pageNow = curr * paeRow;
session.setAttribute("area", area);
session.setAttribute("page", page);
request.setAttribute("pageNow", pageNow);

return "index";
}


pageArea.action指向showPage方法:

public String showPage() {
conditions=" and a1.areaId !='0' ";
orderBy=" order by areaSelId desc";
HttpSession session = request.getSession();
PageProcess page = (PageProcess) session.getAttribute("page");
String pageRows = request.getParameter("pageRow");
String pageNum = request.getParameter("pageNum");
if (pageRows != null && !pageRows.equals("")) {
page.setPageRow(pageRows);
pageNum = "1";
}
if (pageNum == null || Integer.valueOf(pageNum).intValue() < 0) {
pageNum = "1";
}
page.setCurrentPage(pageNum);
session.setAttribute("page", page);
TbVArea area = (TbVArea) session.getAttribute("area");
if (area == null) {
area = new TbVArea();
}
areaList = areaService.viewArea(page, orderBy, conditions, area);
request.setAttribute("areaList", areaList);
int curr = Integer.valueOf(page.getCurrentPage()).intValue() - 1;
int paeRow = page.getPageRow();
int pageNow = curr * paeRow;
request.setAttribute("pageNow", pageNow);
return "success";
}


由于分工不同,分页这一块并不是我负责的.东西也不是我写的,不过想以后可能会用到.
不知道贴出来会不会有人喷.
不详细讲解了.全靠自己领悟吧.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值