• 实现分页功能 web


    首先新建实现分页工具类:

    package com.servlet.product.util;
    
    public class DividePageUtil {
    
        private int pageSize;// 表示显示的条数
        private int recordCount;// 表示记录的总条数
        private int currentPage;// 表示当前页
    
        public DividePageUtil(int pageSize, int recordCount, int currentPage) {
            // TODO Auto-generated constructor stub
            this.pageSize = pageSize;
            this.recordCount = recordCount;
            setCurrentPage(currentPage);
        }
    
        public DividePageUtil(int pageSize, int recordCount) {
            // TODO Auto-generated constructor stub
            this(pageSize, recordCount, 1);
        }
    
        // 获得总页数
        public int getPageCount() {
            int size = recordCount / pageSize;
            int mod = recordCount % pageSize;
            if (mod != 0) {
                size++;
            }
            return recordCount == 0 ? 1 : size;
        }
    
        public int getFromIndex() {
            return (currentPage - 1) * pageSize;
        }
    
        public int getToIndex() {
            return pageSize;
        }
    
        public int getCurrentPage() {
            return currentPage;
        }
    
        public void setCurrentPage(int currentPage) {
            int validPage = currentPage <= 0 ? 1 : currentPage;
            validPage = validPage > getPageCount() ? getPageCount() : validPage;
            this.currentPage = validPage;
        }
    
        public int getPageSize() {
            return pageSize;
        }
    
        public void setPageSize(int pageSize) {
            this.pageSize = pageSize;
        }
    
        public int getRecordCount() {
            return recordCount;
        }
    
        public void setRecordCount(int recordCount) {
            this.recordCount = recordCount;
        }
    }

    在数据访问类中添加一个方法 来获得数据的总条数

    public int getItemCount() {
            int result = 0;
            Map<String, Object> map = null;
            String sql = " select count(*) mycount from product ";
            try {
                conn.getConnect();
                map = conn.queryBySimpleResult(sql, null);
                result = Integer.parseInt(map.get("mycount").toString());
    
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                conn.releaseConnect();
            }
    
            return result;
        }

     在数据处理类中来处理分类:

            // 获得数据总条数
            int recordCount = service.getItemCount();
            // 当前页面 初始化为 1
            int currentPage = 1;
            // 获得当前页面
            String pageNum = request.getParameter("pageNum");
            if (pageNum != null) {
                currentPage = Integer.parseInt(pageNum);
            }
            
            DividePageUtil util = new DividePageUtil(5, recordCount, currentPage);
            //开始的条数
            int start = util.getFromIndex();
            //结束的条数
            int end = util.getToIndex();
            String proname = (String) request.getParameter("proname");
            List<Map<String, Object>> list = service.listProduct(proname, start,
                    end);
         request.setAttribute("util", util);

    在jsp页面中使用javaScript来做处理:

    function firstPage(){
        var th=document.form1;
        th.action="<%=path %>/servlet/ProductAction?action_flag=list&pageNum=1";
        th.submit();
    }
    function forward(){
        var th=document.form1;
        th.action="<%=path %>/servlet/ProductAction?action_flag=list&pageNum=<%=util.getCurrentPage()-1%>";
        th.submit();
    }
    function next(){
        var th=document.form1;
        th.action="<%=path %>/servlet/ProductAction?action_flag=list&pageNum=<%=util.getCurrentPage()+1%>";
        th.submit();
    }
    function endPage(){
        var th=document.form1;
        th.action="<%=path %>/servlet/ProductAction?action_flag=list&pageNum=<%=util.getPageCount()%>";
        th.submit();
    }
    function onChange(currentPage){
        var th=document.form1;
        th.action="<%=path %>/servlet/ProductAction?action_flag=list&pageNum="+currentPage;
        th.submit();
    



  • 相关阅读:
    vue 按需加载
    需要打印真实尺寸大小等需求的,css的单位可以使用mm等做单位
    d3 比例尺
    d3 根据数据绘制svg
    d3 svg简单学习
    d3 使用随机数据生成条形图
    d3 画简单的柱形图
    d3 使用数据
    d3 数据绑定
    d3 添加元素相关api
  • 原文地址:https://www.cnblogs.com/mydomainlistentome/p/4807653.html
Copyright © 2020-2023  润新知