springboot版本3.1.5
mybatis版本3.0.2
如果你在csdn的其他博客里都没有找到解决的办法,或者按照他们的方法都不起作用。你可以试试把pageHelper的版本更新到最新版
然后运行程序,出现如下图所示,说明加载成功了。
来自高版本大冤种试了一下午其他方法后的结果。
以下是我的配置和例子
application.yml
Controller
@RequestMapping("/allByPage")
public String allBookByPage(@RequestParam(defaultValue = "1") Integer pageNum,
HttpSession session,Model model){
model.addAttribute("user",authService.findUser(session));
if(pageNum == null){//若pageNum为空
pageNum = 1; //设置默认当前页为1
}
if(pageNum <= 0){ //若为负数
pageNum = 1; //设置默认值为1
}
int pageSize = 2;
PageHelper.startPage(pageNum,pageSize);
try {
List<LeaveMsg> approvalMsg = approvalService.getAllApprovalByState("审批中");
model.addAttribute("approvalMsgList", approvalMsg);
PageInfo<LeaveMsg> pageInfo = new PageInfo<>(approvalMsg, pageSize);
model.addAttribute("pageInfo", pageInfo);
System.out.println(pageInfo);
}finally {
PageHelper.clearPage(); //清理 ThreadLocal 存储的分页参数,保证线程安全
}
return "admin/approval";
}
approvalService
approvalServiceImpl
mapper
前端
<table class="mb-table">
<thead>
<tr>
<th>序号</th>
<th>工号</th>
<th>姓名</th>
<th>请假开始时间</th>
<th>请假截止时间</th>
<th>请假类型</th>
<th>请假理由</th>
<th>审批进度</th>
<th class="t-ipAddress">IP地址</th>
<th>申请时间</th>
<th>附件</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr th:each="approval,infoStat : ${approvalMsgList}">
<td th:text="${approval.getId()}">序号</td>
<td th:text="${approval.getJobNum()}">工号</td>
<td th:text="${approval.getName()}">姓名</td>
<td th:text="${approval.getLeaveTime1()}">请假时间</td>
<td th:text="${approval.getLeaveTime2()}">销假时间</td>
<td th:text="${approval.getLeaveType()}">请假类型</td>
<td>
<a class="leaveReason-menu reject-a">查看</a>
<div class="reject-menu-down leaveReasonSH"></div>
<div class="reject-menu-form leaveReasonSH">
<label>
<textarea readonly name="rejectReason" cols="100" rows="30"
th:text="${approval.getLeaveReason()}"></textarea>
</label>
<div>
<button class="leaveReason-menu" type="button">返回</button>
</div>
</div>
</td>
<td th:text="${approval.getState()}">审批进度</td>
<td th:text="${approval.getInetAddress()}">请假设备IP地址</td>
<td th:text="${approval.getOperationTime()}">申请时间</td>
<td th:style="'display:' + ${approval.getLeaveType().equals('病假') ? 'block' : 'none'}">
<div>
<div th:style="'display:' + ${approval.getPath1().equals('无路径') ? 'none' : 'block'}">
<a class="reject-a" th:href="${approval.getPath1()}" target="_blank">附件1</a>
</div>
<div th:style="'display:' + ${approval.getPath2().equals('无路径') ? 'none' : 'block'}">
<a class="reject-a" th:href="${approval.getPath2()}" target="_blank">附件2</a>
</div>
<div th:style="'display:' + ${approval.getPath3().equals('无路径') ? 'none' : 'block'}">
<a class="reject-a" th:href="${approval.getPath3()}" target="_blank">附件3</a>
</div>
</div>
</td>
<td>
<div>
<ul>
<li>
<a class="reject-a"
th:href="@{/api/admin/consent(id=${approval.getId()})}"><i></i>同意</a>
</li>
<li>
<a class="reject-menu reject-a"><i></i>驳回</a>
<div class="reject-menu-down rejectSH"></div>
<form class="reject-menu-form rejectSH"
th:action="@{/api/admin/reject(id=${approval.getId()})}" method="post">
<label>
<textarea name="rejectReason" cols="100" rows="30"
placeholder="请简要说明驳回理由:"></textarea>
</label>
<div>
<button type="submit">提交</button>
<button class="reject-menu" type="button">返回</button>
</div>
</form>
</li>
</ul>
</div>
</td>
</tr>
</tbody>
</table>
<div class="mb-div2">
<div>
<strong>当前第 [[${pageInfo.pageNum}]]页,共 [[${pageInfo.pages}]] 页.一共 [[${pageInfo.total}]] 条记录
</strong>
</div>
<div>
<ul class="paging" style="float: right">
<!--首页-->
<li class="paging-item">
<a class="paging-a"
th:href="@{/api/admin/allByPage(pageNum=${pageInfo.navigateFirstPage})}">首页</a>
</li>
<!--上一页-->
<li class="paging-item">
<a class="paging-a" th:href="@{/api/admin/allByPage(pageNum=${pageInfo.prePage})}">上一页</a>
</li>
<!--循环遍历显示中间的页数-->
<li class="paging-item" th:each="list:${pageInfo.navigatepageNums}">
<a th:href="@{/api/admin/allByPage(pageNum=${list})}" th:text="${list}"
th:if="${list != pageInfo.pageNum}"></a>
<span style="font-weight: bold;background: greenyellow;" th:if="${list == pageInfo.pageNum}"
th:text="${list}"></span>
</li>
<!--下一页-->
<li class="paging-item" th:if="${pageInfo.hasNextPage}">
<a class="paging-a" th:href="@{/api/admin/allByPage(pageNum=${pageInfo.nextPage})}">下一页</a>
</li>
<!--尾页-->
<li class="paging-item">
<a class="paging-a"
th:href="@{/api/admin/allByPage(pageNum=${pageInfo.navigateLastPage})}">尾页</a>
</li>
</ul>
</div>
</div>
a标签的地址带上参数导到上面对应的Controller里就行了