zoukankan      html  css  js  c++  java
  • java Page分页显示

    //entity层实体类
    
    import java.util.List;
    
    //分页展示
    //相关属性:当前页,页大小(每页显示的条数),总页数,总条数,数据
    //select * from t_user limit 3,3
    public class Page {
        private Integer currentPage;  //当前页
        private Integer pageSize;     //页大小
        private Integer pageCount;   //页数量
        private Integer totalCount;  //总条数
        private List<?> list;        //数据
        private String  url;         //参数路径
        public Integer getCurrentPage() {
            return currentPage;
        }
        public void setCurrentPage(Integer currentPage) {
            this.currentPage = currentPage;
        }
        public Integer getPageSize() {
            return pageSize;
        }
        public void setPageSize(Integer pageSize) {
            this.pageSize = pageSize;
        }
        public Integer getPageCount() {
            return pageCount;
        }
        public void setPageCount(Integer pageCount) {
            this.pageCount = pageCount;
        }
        public Integer getTotalCount() {
            return totalCount;
        }
        public void setTotalCount(Integer totalCount) {
            this.totalCount = totalCount;
        }
        public List<?> getList() {
            return list;
        }
        public void setList(List<?> list) {
            this.list = list;
        }
        public String getUrl() {
            return url;
        }
        public void setUrl(String url) {
            this.url = url;
        }
        
        @Override
        public String toString() {
            return "Page [currentPage=" + currentPage + ", pageSize=" + pageSize + ", pageCount=" + pageCount
                    + ", totalCount=" + totalCount + ", list=" + list + ", url=" + url + "]";
        }
        
        public Page(Integer currentPage, Integer pageSize, Integer pageCount, Integer totalCount, List<?> list,
                String url) {
            this.currentPage = currentPage;
            this.pageSize = pageSize;
            this.pageCount = pageCount;
            this.totalCount = totalCount;
            this.list = list;
            this.url = url;
        }
        
        public Page() {
        }
        
        public Page(Integer currentPage, Integer pageSize) {
            this.currentPage = currentPage;
            this.pageSize = pageSize;
        }
    }
    // servlet层 (分页相关代码)
    //-----直接做分页展示-----
    String current = request.getParameter("currentPage"); // 获取前端传入的当前页
    Page page = goodsInfoService.getPage(current); // 在业务层给page对象赋值
    request.setAttribute("page", page);
    //service层相关代码
    public Page getPage(String current) {
        Integer currentPage = 1; // 默认为第一页
        Integer pageSize    = 5; // 每页显示5条记录
        if(current != null){
            currentPage = Integer.parseInt(current);
        }
        Page page = new Page(currentPage, pageSize);  //当前页和页大小的赋值
        
        Integer totalCount = goodsInfoDao.getTotalCount();
        page.setTotalCount(totalCount);  //设置总条数
        
       // 页数量==总条数/页大小--如果整除就是该值,否则+1
        Integer pageCount = totalCount/pageSize;
        pageCount=totalCount%pageSize==0?pageCount:pageCount+1;
        page.setPageCount(pageCount);   //设置页数量
        
        Integer startIndex = (currentPage-1)*pageSize; // 起始下标为(当前页-1)*页大小
        List<GoodsInfo> list = goodsInfoDao.getGoodsInfoListPage(startIndex, pageSize);
        page.setList(list);   //设置数据
        
        page.setUrl("GoodsInfoServlet?action=goodsInfoList");  //设置url
        
        return page;
    }
    //Dao相关分页代码
    public int getTotalCount() { // 获取总记录数
        String sql="select count(1) from t_goods_info";
        return CommonUtils.getTotalCount(sql);
    }
    //jquery 相关分页代码
    <a href="${page.url}&currentPage=1">首页</a>
        <c:if test="${page.currentPage!=1}">
            <a href="${page.url}&currentPage=${page.currentPage-1}">上一页</a>
        </c:if>
        <c:if test="${page.currentPage!=page.pageCount}">
            <a href="${page.url}&currentPage=${page.currentPage+1}">下一页</a>
        </c:if>
        <a href="${page.url}&currentPage=${page.pageCount}">尾页</a>
    共${page.currentPage}/${page.pageCount}页
  • 相关阅读:
    《RTC — RTC相关操作以及如何同步系统时间》
    《关闭服务器,再次启动服务器提示bind:address already in use》
    《海思中内存分配和优化》
    《开发板 — 查看共享内存情况》
    《通过himm读取指定引脚并保存在共享内存中》
    《开发板 — 格式化TF卡》
    《网络编程 — UDP》
    《网络编程 — 服务器中bind的ip地址是什么》
    《使用gdb中core dump》
    《 Linux套接字编程中的5个隐患 》
  • 原文地址:https://www.cnblogs.com/wakey/p/10371540.html
Copyright © 2011-2022 走看看