Java实现分页效果

本文介绍了如何使用Java实现分页效果,从最初的在Controller中处理所有记录再到Version 2.0,优化为仅查询所需分页数据。涉及HTML设计、Java后台处理、JQuery获取数据以及页面展示。作者分享了学习过程,期待后续改进。
摘要由CSDN通过智能技术生成

步骤

1.用户发出请求,传递条件
2.SpringMVC获取条件,数据库查询,传回结果
3.ajax得到数据进行处理,最终呈现

HTML设计

<!---分页查询-->
                <div class="tab-pane active in " id="add-get-bill">
                <!--表格-->
                    <div>
                        <table class="table table-condensed table-hover table-striped" id="viewPageTable" style="width: 100%;table-layout:fixed;word-wrap:break-word;font-size: 15px;">
                            <tr>
                                <th hidden="hidden">id</th>
                                <th width="200px">时间</th>
                                <th width="200px">操作IP</th>
                                <th width="200px">操作人</th>
                                <th>操作内容</th>
                            </tr>
                            <tbody id="viewPageBody"></tbody>
                        </table>
                    </div>

                    <!--分页导航栏-->
                    <div class="page_nav">
                        <span>总共<span id="pageTotalSizeLabel"></span></span>
                        <button class="pageButton" value="firstPage">首页</button>
                        <button class="pageButton" value="pageUp">上一页</button>
                        <button class="pageButton" id="labOne"></button>
                        <button class="pageButton" id="labTwo"></button>
                        <button class="pageButton" id="labThree"></button>
                        <button class="pageButton" id="labFour"></button>
                        <button class="pageButton" id="labFive"></button>
                        <button class="pageButton" value="pageDown">下一页</button>
                        <button class="pageButton" value="lastPage">尾页</button>
                    </div>
                </div>

java后台获取数据,进行分页处理

/**
     * 查询当月记录
     * */
    @ResponseBody
    @RequestMapping(value = "/findLogPageMonth/{logMonth}/{pageNumber}",method = RequestMethod.GET,produces = "text/html;charset=UTF-8")
    public String findLogPageMonth(@PathVariable("logMonth")String logMonth,@PathVariable("pageNumber")int pageNumber,Map<Object,Object>map){
        try{
            int pageTotalNumber=0;      //数据记录总条数
            int pageSize=0;             //总页数
            int k = 0;                  //循环判断条件
            List<EntityLog> entityLogList=null;
            List<EntityLog> entityLogListTwo=new ArrayList<>();
            entityLogList=userService.findLogMonth(logMonth);   //查询取出该条件下数据库所有记录
            //得到总记录数
            pageTotalNumber=entityLogList.size();
            //得到总页数,每一页10条记录
            if(pageTotalNumber%10==0){
                pageSize=pageTotalNumber/10;
            }else{
                //有余数,那么总页数要+1
                pageSize=pageTotalNumber/10+1;
            }
            //对页面传回的页数进行判断
            if(pageNumber<=pageSize) {
                /**
                 * 根据访问的页数,取得相应数据
                 * i:表示从哪里开始取数据
                 * pageNumber*10:表示现在第几条记录
                 * */
                for (int i = pageNumber * 10 - 10; i < pageTotalNumber; i++, k++) {
                    if (k < 10) {
                        //把数据从原来List集合中,转移到新的List集合
                        entityLogListTwo.add(entityLogList.get(i));
                    }
                }
                //把信息放在map中,传回用户界面
                map.put("pageSize",pageSize);
                map.put("dataList", entityLogListTwo);
                map.put("RESULT_STATUS", "SUCCESS");
            }else {
                //超出总页数,传回错误信息
                map.put("RESULT_STATUS","MORE_THAN_PAGENUMBER");
            }
        }catch (Exception e){
            e.printStackTrace();
            map.put("RESULT_STATUS","EXCEPTION");
        }
        retur
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值