分页

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

一、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界面。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值