分页

来源:互联网 发布:php 敏感词过滤 编辑:程序博客网 时间:2024/04/30 04:36

分页是一个非常重要的功能,这里写一个简单的分页功能。
先看一下效果:
这里写图片描述

一、Page类—–专门用来存放数据

    //每页的数据条数   这里每页5条数据    Integer pageSize=5;    //第几页    Integer pageIndex;    //该表中总共的数据条数    Integer totalNum;    //总页数    Integer totalPage;    //返回的数据   每一页显示的数据    ArrayList<T> list;
//得到总共的页数public int getTotalPage(){        int page=getTotalNum()/getPageSize();        int m=getTotalNum()%getPageSize();        if(m>0){            page++;        }        return page;    }    //在数据库查询的时候有用到    public int getOffset(){        return (getPageIndex()-1)*getPageSize();    }

二、Dao层
先查数据库中有多少条数据,然后在将数据进行分页。

//查询数据条数 String sql="select count(*) from tb_sys_user"; 注意:查询count(*)返回的是一个Long型。
//分页 String sql="select * from tb_sys_user limit ?,?";

三、Service层

//分页        //第一步:查询所有的管理员数据  count(*)        //将Long转换为int类型        int count =(int) (sysUserDao.selectPageBysingle()*1);        //System.out.println("count="+count);  28        Page<SysUser> page = new Page<SysUser>();        //第二步:设置pageIndex        page.setPageIndex(Integer.parseInt(pageIndex));        page.setTotalNum(count);        //第三步:判断是否超页,如果超页,就将PageIndex设为1        if(count<Integer.parseInt(pageIndex)){            page.setPageIndex(1);        }        if(Integer.parseInt(pageIndex)<0){            page.setPageIndex(1);                   }        //第四步:调用底层       sysUserDao.selectPage(page);       return page;

四、Servlet
将从Service层得到的数据Page用request域设置,这样,在.jsp中就能得到数据。

Page<SysUser> pages=userService.selectAllManager(pageIndex);        //pages.getList().size();        request.setAttribute("pages", pages);

五、JSP
用foreach循环,得到每一页的数据

//list是每一页的数据<c:forEach var="item"  items="${pages.list}">                      <tr>                        <td>${item.username }</td>                            <td>${item.name }</td>                            <td>${item.realSex }</td>                            <td>${item.createTime }</td>                            <td>${item.status }</td>                            <td>                                <a href="#">修改</a>                                <a href="#">删除</a>                            </td>                    </tr>                </c:forEach>

页码就用bootStrap里面的模板就行。

由于.jsp文件都是放在WEB-INF下面的,所以不能直接访问,这个时候我们就需要“曲线救国”,创建一个Servlet作为中间介质,先访问Servlet,再跳转到.jsp界面。

原创粉丝点击