一百分求分页算法
一个JavaBean
分页的效果如百度或者google一样。
比如点击3的时候是:
上一页 [1] [2] 3 [4] [5] [6] [7] [8] [9] [10] [11] [12] 下一页
点击12的时候是:
上一页 [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] 12 [13] [14] [15] [16] [17] [18] [19] [20] [21] 下一页
当前页的前后扩展后都是10页。
而超链接读到的是静态页面。
最好可以给我源码
[解决办法]
int totalofpage //每页多少行
int curPage //当前页
int j; //传进来的值
StringBuffer sbp = new StringBuffer();
curPage = (int)Math.ceil((double)j/(double)totalofpage);
/*前10页*/
for(int k=10;k> =1;k--){
len=curPage-k;
if(len> 0){sb.append( " <a href= "http://localhost:8080/_ddd.html " target=_blank> <u> "+len+ " </u> </a> ");
}
}
sbp.append(curPage+ " ");//当前页
/*后10页*/
for(int m=1;m <=10;m++){
len=curPage+m;
if(len <totalPage){
sb.append( " <a href= "http://localhost:8080/_ddd.html " target=_blank> <u> "+len+ " </u> </a> ");
}
}
[解决办法]
http://hi.baidu.com/lael80/blog/item/74fa6ec6576d641b9d163dfd.html
下载这个论坛,里面的发布就是一样的算法
////////////bbs.rar\bbs\src\javabean\Func.java
public String ShowPage(int page_count,int page_now,String page_url){
int k=0;
String page_tmp= " ";
if(page_now> 1){
page_tmp= " <font face= 'webdings '> <a href= ' "+page_url+ "=1 ' title= '首页 '> 9 </a> </font> <font face= 'webdings '> <a href= ' "+page_url+ "= "+(page_now-1)+ " ' title= '上页 '> 7 </a> </font> ";
}else{
page_tmp= " <font face= 'webdings '> 9 </font> ";
page_tmp=page_tmp+ " <font face= 'webdings '> 7 </font> ";
}
if(page_count==1){
page_tmp=page_tmp+ "[ ";
page_tmp=page_tmp+ "1 ";
page_tmp=page_tmp+ "] ";
}
if(page_count <=10&&page_count> 1){
page_tmp=page_tmp+ "[ ";
for(k=1;k <=page_count;k++){
if(k!=page_now)page_tmp=page_tmp+ " <a href= ' "+page_url+ "= "+k+ " '> "+k+ " </a> ";
else page_tmp=page_tmp+k+ " ";
}
page_tmp=page_tmp+ "] ";
}
if(page_count> 10){
if(page_now <=5){
page_tmp=page_tmp+ "[ ";
for(k=1;k <=10;k++){
if(k!=page_now)page_tmp=page_tmp+ " <a href= ' "+page_url+ "= "+k+ " '> "+k+ " </a> ";
else page_tmp=page_tmp+k+ " ";
}
page_tmp=page_tmp+ "...] ";
}else if(page_now> =page_count-5){
page_tmp=page_tmp+ "[... ";
for(k=page_count-10+1;k <=page_count;k++){
if(k!=page_now)page_tmp=page_tmp+ " <a href= ' "+page_url+ "= "+k+ " '> "+k+ " </a> ";
else page_tmp=page_tmp+k+ " ";
}
page_tmp=page_tmp+ "] ";
}else{
page_tmp=page_tmp+ "[... ";
for(k=page_now-5+1;k <=page_now+5;k++){
if(k!=page_now)page_tmp=page_tmp+ " <a href= ' "+page_url+ "= "+k+ " '> "+k+ " </a> ";
else page_tmp=page_tmp+k+ " ";
}
page_tmp=page_tmp+ "...] ";
}
}
if(page_now <page_count){
page_tmp=page_tmp+ " <font face= 'webdings '> <a href= ' "+page_url+ "= "+(page_now+1)+ " ' title= '下页 '> 8 </a> </font> ";
page_tmp=page_tmp+ " <font face= 'webdings '> <a href= ' "+page_url+ "= "+page_count+ " ' title= '未页 '> : </a> </font> ";
}else{
page_tmp=page_tmp+ " <font face= 'webdings '> 8 </font> ";
page_tmp=page_tmp+ " <font face= 'webdings '> : </font> ";
}
return page_tmp;
}
[解决办法]
没有通用的方法的
我只能是建议你写个封装的方法
方法1:返回LIST(查询结果),传入查询条件、排序条件、当前页数,每页有多少条
方法2:返回STRING (分页下方的代码),传入每页条数,有多少页
[解决办法]
楼上的写的太晕。
我做过的,基本思想就是给页面建一个pageBean。
并通过URL的参数来提供跳转。