zoukankan      html  css  js  c++  java
  • java 实现前端分页,上一页,下一页

    
    
    // 获取count
    ArticleSearch search = new ArticleSearch();
    search.setType(customerIndustry);
    search.setBegin(page - 1);
    search.setLength(5);
    Integer count = articleService.getCountBySearch(search).getData();
    if (count != null && count > 0) {
    // 当前页数
    model.addAttribute("currentPage", page);
    // 总页数
    int lengthPage = (int)Math.ceil((double)count/search.getLength());
    model.addAttribute("lengthPage", lengthPage);
    // 处理中间页数
    List<Integer> pageList = handlePage(page, lengthPage);
    model.addAttribute("pageList", pageList);
    // 是否可点击上一页
    model.addAttribute("canViewPre", !page.equals(pageList.get(0)));
    // 是否可点击下一页
    model.addAttribute("canViewNext", !page.equals(pageList.get(pageList.size() - 1)));
    List<ArticleAO> articleList = articleService.getListBySearch(search).getData();
    articleService.handleInfo(articleList);
    model.addAttribute("articleList", articleList);
    }

    //
    处理中间页数 private List<Integer> handlePage(int currentPage, int lengthPage) { List<Integer> pageList = new ArrayList<>(); int start; int end; // 总共需展示多少页 int sum = 10; // 当前页前面有几页 int front = 5; // 当前页后面有几页 int after = 4; // 计算start if (currentPage - front > 0) { start = currentPage - front; } else { start = 1; after = sum - currentPage; } // 计算end if (lengthPage > sum) { if (currentPage + after > lengthPage) { end = lengthPage; } else { end = currentPage + after; } } else { end = lengthPage; } for (int i = start; i <= end; i++) { pageList.add(i); } return pageList; }
    随笔看心情
  • 相关阅读:
    sql server 的存储过程
    vue SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
    数据结构 基本概念和术语
    vue v-show指令
    vue v-model :
    vue 指令
    vue 挂载点 实例 模板
    vue(1) 第一个例子
    【BZOJ1150】[CTSC2007]数据备份Backup 双向链表+堆(模拟费用流)
    【BZOJ1109】[POI2007]堆积木Klo 二维偏序
  • 原文地址:https://www.cnblogs.com/stromgao/p/14950637.html
Copyright © 2011-2022 走看看