分页查询的实现过程

分页查询

目前我看到的最简单的分页查询的实现就是直接在servlet查询得到list列表之后,在jsp页面或者html页面引用<%进行实现

1、首先,获取到session保存的list数据

List<docu> list = (List<docu>)request.getSession().getAttribute("list");  //此处是取出所存储的数据

2、设置分页需要的相关变量

当前页数,每页起始点0,终止点(你想要每页显示的数据条数-1),以及存储总的list条数数据的total_count;

3、根据list总量得到相应页数

if(list != null)
        total_count = list.size();   //信息的总量
    int page_total = total_count / 10 + (total_count % 10 != 0 ? 1 : 0);//总页数

4、获取得到当前所在的页数

if(request.getParameter("begin") != null) {
        page_current = Integer.parseInt(request.getParameter("begin"));  //获取当前页数
    }

5、页码变化

page_begin = (page_current - 1) * 10;
    page_end = page_begin + 9 > total_count ? total_count : page_begin + 9;
    request.getSession().setAttribute("page_current", page_current);  //保存到session中
    request.getSession().setAttribute("page_total", page_total);

接下来进攻到c标签那里去!放在c:foreach标签外面

6、页面跳转实现

<c:if test="${sessionScope.page_current != 1 }">
            <li><a href="main.jsp?begin=${sessionScope.page_current - 1 }">Prev</a></li>
            </c:if>
            <c:if test="${sessionScope.page_current != sessionScope.page_total }">
            <li><a href="main.jsp?begin=${sessionScope.page_current + 1 }">Next</a></li>
            </c:if>
            当前页数 : ${sessionScope.page_current } / ${sessionScope.page_total}
posted @ 2023-04-10 20:39  yesyes1  阅读(19)  评论(0编辑  收藏  举报