例如获取学生列表后,分页显示
分下面几个主要步骤:
1:先设定数值
int count = 0 ; //学生记录总数
//从数据库获取得到记录总数,传入参数为班级
count = DButil.SumStudent(course_class);
int start = 0; //从零开始显示
int pageCount = 10; //每页显示10条记录
//计算总页数
int pageSum = count%pageCount==0?count/pageCount:count/pageCount+1;
System.out.println("总记录数:"+count);
System.out.println("总页数:"+pageSum);
int index = 1; //默认当前页为1,即从第1页开始
//点击链接重新获取当前页(从jsp当中点击下一页,上一页)
String dangqianye = request.getParameter("index");
if (dangqianye==null) {
//如果当前页数等于空,意味着首次访问,默认从第一页开始
index = 1;
}else {
//获取到jsp传过来的页码,当前页index = dangqianye
index = Integer.parseInt(dangqianye);
System.out.println("显示页数:"+index);
}
//防止点击超过最大和最小页码
if (index>pageSum) {
System.out.println("显示页数大于总页数");
index = pageSum;
}else if (index==0) {
index = 1;
}
start = start+(index-1)*10; //根据页数index,得到起始码start
System.out.println("start="+start);
//最后一步,在resultset rs 结果集获取数据时,将start 和 pageCount 作为参数 放入sql语句当中
//在sql语句后面加上 limit start,pageCount
//如limit 0,10 即 从第1条记录开始,提取10条记录
接着将结果集传入到jsp
jsp设置超链接回到servlet,控制翻页,参数带上要访问的页码和需要的其他参数
<div style="padding-left:500px;">
总记录数:<%=count%>
总页数:<%=pageSum%>
当前页数:<%=index%>
<a href="<%=path%>/servlet/InputScoreServlet?course_num=<%=request.getAttribute("course_num") %>&index=1">首页</a>
<a href="<%=path%>/servlet/InputScoreServlet?course_num=<%=request.getAttribute("course_num") %>&index=<%=index - 1%>">上一页</a>
<a href="<%=path%>/servlet/InputScoreServlet?course_num=<%=request.getAttribute("course_num") %>&index=<%=index + 1%>">下一页</a>
<a href="<%=path%>/servlet/InputScoreServlet?course_num=<%=request.getAttribute("course_num") %>&index=<%=pageSum%>">尾页</a>
</div>
以上循环可实现翻页功能