`
yuelangyc
  • 浏览: 449255 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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";
	}


由于分工不同,分页这一块并不是我负责的.东西也不是我写的,不过想以后可能会用到.
不知道贴出来会不会有人喷.
不详细讲解了.全靠自己领悟吧.
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics