分页工具-分页展示页码计算-MybatisPlus没有分页导航栏-navigatepageNums

分页工具——分页展示页码计算


用pagehelper用惯了发现mp没有分页导航栏,那么就自己写一个。
以b战导航条为例,一页展示7个,前后不会溢出。
在这里插入图片描述
居中显示,前后各三个 在这里插入图片描述
代码如下:

/**
     * 
     * @param current 当前的页码
     * @param totalPage 一共多少页
     * @param navSize 需要展示的页码个数
     * @return
     */
    public static int[] pageNav(int current, int totalPage, int navSize){
        //算出current左边有多少个
        int before = navSize/2;

        //起始的页码,防止了起始为负数
        int start = current-before<1 ? 1 : current-before;
        //终止的页码
        int end = start+navSize-1;
        //如果终止页码大于等于总页码
        if (end>=totalPage){
            //总页码就是终止页码
            end = totalPage;
            //因为终止页码变动,起始页码也需要变动
            start = end-navSize+1;
            //如果总页码小于展示页码个数的话,起始页码可能是负数,将它变为1
            if (start<1){
                start = 1;
            }
        }

        System.out.println(start);
        System.out.println(end);

        int[] navs = new int[totalPage<navSize?totalPage:navSize];
        for (int i = start,j=0; i <= end; i++,j++) {
            navs[j] = i;
        }
        return navs;
    }

没有对current大于totalPage做判断,这个应该交给其他地方进行计算并修改current。
经过本人粗略一下没有问题!如果有bug请指出,谢谢!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值