首先前端点击下一页传两个参数给后台,pageSize eadis_page
每页显示几条记录,当前页是第几页。
后台从request中获取对象
String pageSize=this.getHttpRequest().getParameter("pageSize");
String eadis_page=this.getHttpRequest().getParameter("eadis_page");
设计一个分页类,这个类保存当前是第几页,每页显示记录数,总记录数
当前页码通过eadis_page获取,每页显示记录数通过pageSize获取,总记录数
调用dao层,sql,从数据库取出来
ipg.initPageCounts(new Integer[] { (Integer) aft1TaskDao
.getCount(aft1Task) });
这三个参数解决之后,就可以开始正式取数据了。
取数据前,先确定当前取的记录数,第一次取第一条 到第10条
第二次取第11条 到第21条
这个取数据的起始和结束根据什么确定呢?
当前页数和每页显示容量确定
这两个值取出来之后,自然要set到表对应的对象中,最后放在sql里面作为参数。
因此可以把这两个参数写在一个公共类中,通过ipag对象为其赋值,并把这个公共对象继承给要分页取值的对象。
最后把取出来list放在ipag中,返回。
SELECT
*
FROM
(
SELECT
m.*,
rownum AS rnum
FROM
(
SELECT
*
FROM
AFT1_TASK ) m
WHERE
rownum < #endNum# )
WHERE
rnum >=1