二、显示数字分页
直接用在代码中用“上一页”跟“下一页”写分页的话,会出现当你在第一页或最后一页的时候,在点”上一页“或“下一页”的话,程序就会出错,因此选用数字分页,保证程序的正确性;
1、在分页的PageBean中增加String类型的showPage属性,并写它的get方法,其他的代码不变,具体代码如下:
public String getShowPage(){
StringBuffer buf = new StringBuffer("");
buf.append("<div class='tipad' style='width:500px' align='center'>");
int []ps = new int[totalPage];
for (int i = 0; i < ps.length; i++) {
ps[i]=i+1;
}
if(currenPage>5){
buf.append(" <a href='UserServlet?action=show&page="+(currenPage-1)+"'>上一页</a>");
}
for (int i = 0; i < 10; i++) {
int p = (currenPage+i)-5;
if(p>0&&p<ps.length){
if(p==currenPage){
buf.append("<span ><a href='UserServlet?action=show&page="+p+"' style='color:red;'>"+p+"</a> </span>");
}else{
buf.append("<span><a href='UserServlet?action=show&page="+p+"'>"+p+"</a> </span>");
}
}
}
if(currenPage!=ps.length-1){
buf.append(" <a href='UserServlet?action=show&page="+(currenPage+1)+"'>下一页</a> ");
}
buf.append("<div>");
return buf.toString();
}
2,实体跟filter、servlet中的代码不变;
3,在jsp页面中去掉刚才的分页,直接用el表达式写 ${requestScope.pb.showPage };
数字分页完成!!!!