<%
int pageNow =Integer.parseInt((String)request.getAttribute("pageNow"));
int pageCount =Integer.parseInt((String)request.getAttribute("pageCount"));
out.println("<a href=UserClServlet?pageNow=1&flag=fengye>首页</a>");
if(pageNow!=1){
out.println("<a href=UserClServlet?pageNow="+(pageNow-1)+"&flag=fengye>上一页</a>");
}
for(int i=pageNow;i<pageNow+3;i++){
out.println("<a href=UserClServlet?pageNow="+i+"&flag=fengye>第"+i+"页</a>");
}
if(pageNow!=pageCount){
out.println("<a href=UserClServlet?pageNow="+(pageNow+1)+"&flag=fengye>下一页</a>");
}
out.println("<a href=UserClServlet?pageNow="+pageCount+"&flag=fengye>尾页</a>");
%>
菜鸟初学java,这个不知道怎么来百度了,还是到这来解决吧,嘿嘿!
上面代码中有一个问题 我想不出怎么解决,从数据库调用数据后显示,可是如果数据库 本身只够显示10条,而我当前页在10页的话 它还是会打印出后面两页来,该怎么解决呢? 方案当然要适合菜鸟的哈,太高深的方法,我怕看不懂。
int pageNow =Integer.parseInt((String)request.getAttribute("pageNow"));
int pageCount =Integer.parseInt((String)request.getAttribute("pageCount"));
out.println("<a href=UserClServlet?pageNow=1&flag=fengye>首页</a>");
if(pageNow!=1){
out.println("<a href=UserClServlet?pageNow="+(pageNow-1)+"&flag=fengye>上一页</a>");
}
for(int i=pageNow;i<pageNow+3;i++){
out.println("<a href=UserClServlet?pageNow="+i+"&flag=fengye>第"+i+"页</a>");
}
if(pageNow!=pageCount){
out.println("<a href=UserClServlet?pageNow="+(pageNow+1)+"&flag=fengye>下一页</a>");
}
out.println("<a href=UserClServlet?pageNow="+pageCount+"&flag=fengye>尾页</a>");
%>
菜鸟初学java,这个不知道怎么来百度了,还是到这来解决吧,嘿嘿!
上面代码中有一个问题 我想不出怎么解决,从数据库调用数据后显示,可是如果数据库 本身只够显示10条,而我当前页在10页的话 它还是会打印出后面两页来,该怎么解决呢? 方案当然要适合菜鸟的哈,太高深的方法,我怕看不懂。
out.println(" <a href=UserClServlet?pageNow="+i+"&flag=fengye>第"+i+"页 </a>");
}
这个有问题,循环必然有多出两页来(如果你只有一页的话.).
如果有五页,那也不会显示.
for(int i=pageNow;i <pageCount+3;i++){
out.println(" <a href=UserClServlet?pageNow="+i+"&flag=fengye>第"+i+"页 </a>");
}
当前page设为currpage
总页面pagecount应该为total/pagesize
先判断下currpage和pagecount的关系
不合理的话置为合理的
然后进行输出
currpage+3<=pagecount
输出三页
如果不满足
就for(currpage->pagecount)输出
有几个是几个
不建议在jsp页面分页
直接写个分页方法或者bean就OK
省去很多重复代码
执行打印 <当前页> 至 <最后页>
}这样子解决对吗
out.println(" <a href=UserClServlet?pageNow="+i+"&flag=fengye>第"+i+"页 </a>");
}
改一下,
int toPage=pageNow+3;if(toPage>pageCount){
toPage = pageCount;
}
for(int i=pageNow;i <toPage ;i++){
out.println(" <a href=UserClServlet?pageNow="+i+"&flag=fengye>第"+i+"页 </a>");
}
执行打印 <当前页> 至 <最后页>
} 看了那么多回复我才弄明白你什么意思!
for(int i=pageNow;i <pageNow+3;i++){
if(i<总页数)
out.println(" <a href=UserClServlet?pageNow="+i+"&flag=fengye>第"+i+"页 </a>");
else
break;
} 如果i大于总页数就会跳出循环,停止打印!你的问题应该解决了吧!?汗!加个判断就好了吗!