oracle+java实现的真分页.每一页数据都是一次查询.
jar包里面有源码.个人下载个反编译的工具自己查看吧,
引入jstl文件
xx可以自己命名.
数据库组串方法:
PageProcess 是jar包里的对象.
第一次进行查询需要action调用自己写的view方法:
pageArea.action指向showPage方法:
由于分工不同,分页这一块并不是我负责的.东西也不是我写的,不过想以后可能会用到.
不知道贴出来会不会有人喷.
不详细讲解了.全靠自己领悟吧.
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";
}
由于分工不同,分页这一块并不是我负责的.东西也不是我写的,不过想以后可能会用到.
不知道贴出来会不会有人喷.
不详细讲解了.全靠自己领悟吧.