模拟网页分页(注意,这里还是取出来数据库的全部内容,其实应该分页获取)

今天看到了一篇文章,写的是挺不错,网页分页也是做到了,但是确实很气人,这样做页面是可以分页,但是数据库也不能一下取出来10W条记录吧,这样就卡死了(师父说的话,一下给我pass了)。但是这里还是要分享一下,到时候重新弄sql就能出来效果了,废话不多说 上代码

// 设置页数
int pageNos;
// 获取不到页数或者获取到的页数小于1,页数为1,否则页数为传递过来的数据
if (req.getParameter("pageNos") == null
|| Integer.parseInt(req.getParameter("pageNos")) < 1) {
pageNos = 1;
} else {
pageNos = Integer.parseInt(req.getParameter("pageNos"));
}
req.getSession().setAttribute("pageNos", pageNos);
// 定义总页数(每页数据量是5条)
int countPage = PagingHelper.getPageCount(listUser.size(), 5);
req.getSession().setAttribute("countPage", countPage);

这个是获取页面数的代码

public static int  getPageCount(int allSize,int singleSize){
if (allSize%singleSize!=0) {
return allSize/singleSize+1;
}
return allSize/singleSize;
}

控制页面上下页的代码(最好是弄出来所有页数,不想这个上一页,下一页这么弄)

<c:if test="${pageNos>1}">
<a
href="${pageContext.request.contextPath}/userControl?action=updateGradeList&pageNos=1">首页</a>
<a
href="${pageContext.request.contextPath}/userControl?action=updateGradeList&pageNos=${pageNos-1}">上一页</a>
</c:if>
<c:if test="${pageNos<countPage}">
<a
href="${pageContext.request.contextPath}/userControl?action=updateGradeList&pageNos=${pageNos+1}">下一页</a>
<a
href="${pageContext.request.contextPath}/userControl?action=updateGradeList&pageNos=${countPage}">末页</a>
</c:if>
在需要循环遍历的地方写上这个(如果想要一页显示多少数字,这里的*的数字就是几)

<c:forEach var="stu" items="${tempGradeUserList}" begin="${(pageNos-1)*5}" end="${pageNos*5-1}">
<tr>
<td>${stu.name}</td>
<td><a href="${pageContext.request.contextPath}/userControl?action=updateThisStuGrade&&stu_id=${stu.u_id}">修改</a></td>
</tr>
</c:forEach>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值