Java中List分页(方法二)

[b]此篇文章和上篇文章都是在解决不通过数据库进行分页,而是查询出List结果集之后的分页问题[/b]
[b]后台代码:[/b]

flightList:数据集合 perPageNum:每页显示的数据量 pageCount:总页数 pageNum:当前要显示第几页页数 flightPageList :分页后的需要显示的数据结果集

int pageNum=1; // 当前要显示第几页页数
int perPageNum=50; // 每页显示的数据量
if(request.getParameter("pageNum")==null){
pageNum=1;
}else{
pageNum=Integer.parseInt(request.getParameter("pageNum"));
}
//计算总页数
int pageCount = 0;
if (flightList.size() % perPageNum == 0) {
pageCount = flightList.size() / perPageNum;
} else {
pageCount = (flightList.size() / perPageNum) + 1;
}
//超过总页数置为最后一页
if (pageNum > pageCount) {
pageNum = pageCount;
}

//计算需要显示的结果数据
List<FmeToday> flightPageList = new ArrayList<FmeToday>();
for (int i = ((pageNum-1) * perPageNum);
i < flightList.size() && i < ((pageNum) * perPageNum) && pageNum > 0; i++) { flightPageList.add(flightList.get(i));
}
}

request.setAttribute("flightPageList", flightPageList);
request.setAttribute("pageNum", pageNum);
request.setAttribute("pageCount", pageCount);



[b]页面代码:[/b]

<%
int pageNum=Integer.parseInt(request.getAttribute("pageNum").toString()); //后台传到页面的当前页数
int pageCount=Integer.parseInt(request.getAttribute("pageCount").toString()); //总页数

%>
<table width="100%" >
<tr>
<td width="40%"> </td>
<td align="right">
<%
if(pageNum<=1){
%>
<font style="text-align:center;color: #ccccff">上一页</font>
<%
}else{
%>
<a href="history.action?pageNum=<%= pageNum-1 %>" >
<font style="text-align: center;color: blue;">上一页</font></a>
<% } %>
</td>
<td> </td>
<td align="left">
<%
if(pageCount<=pageNum){
%>
<font style="text-align: right;color: #ccccff">下一页</font>
<%
}else{
%>
<a href="history.action?pageNum=<%= pageNum+1 %>" >
<font style="text-align: right;color: blue;">下一页</font></a>
<%} %>
</td>
<td align="right">当前为第<%=pageNum %>页 共<%=pageCount%>页 </td>
</tr>
</table>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值