我的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 之后的运行结果如下:
|
你这个问题更像是业务层的问题,页面不应该允许点出范围吧,那么超出以后应该返回什么呢?空集合还是最后一页的数据?
到最后一页和第一页,相应按钮应该变灰,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.
你看的链接里面的办法可行,但是你的写法不对,不是在value里面这么写,而是写成属性,你自己对照下