[已解决]PageHelper参数错误问题,通过手写分页配置类,完美解决

在maven工程中PageHelper获取的参数获取不到,不准确,通过百度找到手写配置类文章,应用如下

下面是手写配置类

@Data
public class PageUtils<T> {

    private List<T> pages;    //数据
    private long totalCount;    //总数
    private int pageIndex;    //当前页
    private int totalPages;    //总页数


    /**
     * <p>分页方法</p>
     * <p>参数(当前页码,每页行数)</p>
     * <p>返回    pages 数据</p>
     * <p>      totalCount  总数</p>
     * <p>      pageIndex   当前页</p>
     * <p>      totalPages  总页数</p>
     */
    public PageUtils(int pageIndex, int hang, List<T> pages) {

        int fist = pageIndex * hang - hang;    //获取当前页的第一行下标
        int last = pageIndex * hang;        //获取当前页的最后一行下标+1
        if (last > pages.size()) last = pages.size();

        List<T> page = new ArrayList<T>();
        for (int s = fist; s < last; s++) {
            page.add(pages.get(s));
        }

        this.pages = page;        //分页数据
        this.totalCount = pages.size();    //总行数
        this.pageIndex = pageIndex;        //当前页
        this.totalPages = (int) Math.ceil((float) pages.size() / hang);    //总页数
    }
}

   @Autowired
    private BookCategoryService bookCategoryService;

    @RequestMapping("/index")
    public String findAll(@RequestParam(name ="pageNo" ,defaultValue = "1") int pageNo,Model model){
       /* List<Books> all = booksService.findAll();
        System.out.println("all = " + all);*/
        List<BookCategory> main = bookCategoryService.findMain();
        model.addAttribute("All",main);
        List<BooksVo> byIdddd = booksService.findByIdddd();
        PageUtils<BooksVo> page = new PageUtils<>(pageNo,3,byIdddd);
        int pageIndex = page.getPageIndex();//当前页
        model.addAttribute("dangqian",pageIndex);
        long totalCount = page.getTotalCount();//总行数
        System.out.println("总行数 = " + totalCount);
        int totalPages = page.getTotalPages();//总页数
        model.addAttribute("yeshu",totalPages);
        List<BooksVo> pages = page.getPages();//每页数据
        model.addAttribute("pageInfo",page);
        model.addAttribute("msg",pages);
        return "index";
    }
<a href="/index" id="first" >首页</a>
    <a href="/index?pageNo=${dangqian-1}" id="prePage" name="prePage" >上一页</a>
    <a href="/index?pageNo=${dangqian+1}" id="nextPage" name="nextPage">下一页</a>
    <a href="index?pageNo=${yeshu}" id="mo">末页</a>
    <a>第</a><a id="current">${dangqian}</a><a>页</a>
    <a>共</a><a id="allpage">${yeshu}</a><a>页

下面为在第一页时隐藏首页和第一页js实现

 var current=document.getElementById('current').innerText
        console.log(current);
        var allpage=document.getElementById('allpage').innerText
        console.log(allpage);

        if (current<2){
            document.getElementById("first").style.visibility="hidden";
            document.getElementById("prePage").style.visibility="hidden";
        }
        if (allpage===current){
            document.getElementById("nextPage").style.visibility="hidden";
            document.getElementById("mo").style.visibility="hidden";
        }

配合jsp分页实现

原著如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值