csdn_sqj 2019-12-29 16:13 采纳率: 40%
浏览 743
已结题

pageHelper怎么限定最大页数和最小页数?

我的project使用pageHelper后,分成5页。
|
可是在网页上运行的时候可以跑到第0页和第6页
|
图片说明
图片说明
+++++++++++++++++++++++++++++++
我查了查
|
https://www.e-learn.cn/content/qita/652946
|
这里说有个标签可以设置,但是
图片说明
我一开始就设置了,还是不行
|
请大神教教我要怎么修改!
+++++++++++++++++++
+++++++++++++++++++
+++++++++++++++++++
相关代码:
前端

    <a href="${pageContext.request.contextPath}/userList/findAll?pageNum=1">首页</a>
    <a href="${pageContext.request.contextPath}/userList/findAll?pageNum=${userPageInfo.pageNum-1}">上一页</a>
    <a href="${pageContext.request.contextPath}/userList/findAll?pageNum=${userPageInfo.pageNum+1}">下一页</a>
    <a href="${pageContext.request.contextPath}/userList/findAll?pageNum=${userPageInfo.pages}">末页</a>

<br>
        当前${userPageInfo.pageNum}页,总共${userPageInfo.pages}页,总共${userPageInfo.total}条记录

applicationContext.xml

 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <!--pageHelper-->
        <property name="plugins">
            <array>
                <bean class="com.github.pagehelper.PageInterceptor">
                    <property name="properties">
                        <!--使用下面的方式配置参数,一行配置一个 -->
                        <value>
                            helperDialect=postgresql

                            reasonable=true

                            supportMethodsArguments=true
                            params=count=countSql
                            autoRuntimeDialect=true
                        </value>
                    </property>
                </bean>
            </array>
        </property>
    </bean>

controller

 @RequestMapping("/findAll")
    private ModelAndView userList(@RequestParam(value = "pageNum" , defaultValue = "1") Integer pageNum,
                                  @RequestParam(value = "pageSize" , defaultValue = "5") Integer pageSize
    ){
        ModelAndView mav = new ModelAndView();
        List<User> lists = userListService.findAll(pageNum, pageSize);
        System.out.println(pageNum);

        PageInfo<User> userPageInfo = new PageInfo<User>(lists, 5);

        mav.addObject("lists", lists);
        mav.addObject("userPageInfo",userPageInfo);
        mav.setViewName("userList");

        return mav;
    }

++++++++++++++
++++++++++++++
更新:
|
把上面提到的 reasonable 改成
---> reasonable = false 之后的运行结果如下:
|
图片说明

  • 写回答

2条回答 默认 最新

  • sculxp 2019-12-29 17:00
    关注

    你这个问题更像是业务层的问题,页面不应该允许点出范围吧,那么超出以后应该返回什么呢?空集合还是最后一页的数据?
    到最后一页和第一页,相应按钮应该变灰,pageinfo里面是有相关属性的,一句话的事
    reasonable 3.3.0以上版本可用,具体没有考证。
    reasonable: Rationalization of paging parameters, Default value is false。 When this parameter is set to true, pageNum <= 0 will query the first page, PageNum> pages (over the total number), will query the last page. Default false, the query directly based on parameters.

    评论

报告相同问题?

悬赏问题

  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3