/*** 分页页码

*@paramtotalcount 记录总数

*@paramnum 每页记录数

*@paramindex 当前页码

*@paramparamstr 参数串&隔开,如:a=1&b=2

*@paraminstate 当第二页码与第一页不连续时,中间的替换字符串,空为不需要

*@return

*/

public static Map pages(int totalcount,int num,intindex,String paramstr,String instate){int half=3;

Map result=new HashMap();

result.put("page", "");if(totalcount<1){

result.put("code", "1");

result.put("msg", "totalcount错误");returnresult;

}if(num<1){

result.put("code", "2");

result.put("msg", "num错误");returnresult;

}if(index<1)

index=1;int total=totalcount/num;if(totalcount%num!=0)

total+=1;if(index>total)

index=total;int leftm=((index-half)-1)*-1;if(leftm<0)

leftm=0;int rightm=(index+half)-total;if(rightm<0)

rightm=0;int left=index-half;if(left<1)

left=1;int right=index+half;if(right>total)

right=total;

List plist=new ArrayList();for(int i=left;i<=right;i++){

plist.add(i);

}int f=plist.get(0);int l=plist.get(plist.size()-1);int lend=f-rightm;if(lend<1)

lend=1;for(int i=f-1;i>=lend;i--){

plist.add(0, i);

}int rend=l+leftm;if(rend>total)

rend=total;for(int i=l+1;i<=rend;i++){

plist.add(i);

}if(instate.length()>0){

f=plist.get(0);

l=plist.get(plist.size()-1);if(f>1)

plist.add(0,1);if(l

plist.add(total);

}

List> pagelist=new ArrayList>();

Map pg=null;for(int i=0;i0 && i==1){if(plist.get(i)>2){

pg=new HashMap();

pg.put("value", "");//参数传递

pg.put("page", instate);//页码显示内容

pg.put("btn", "0");//是否是页码按钮

pg.put("idx", "0");//是否当前页码

pagelist.add(pg);

}

}

pg=new HashMap();

String vl=paramstr;if(vl.length()>0)

vl+="&";

vl+="page="+plist.get(i);

pg.put("value", vl);

pg.put("page", plist.get(i)+"");

pg.put("btn", "1");

pg.put("idx", "0");if(plist.get(i)==index)

pg.put("idx", "1");

pagelist.add(pg);if(instate.length()>0 && i==plist.size()-2){if(plist.get(i)

pg=new HashMap();

pg.put("value", "");

pg.put("page", instate);

pg.put("btn", "0");

pg.put("idx", "0");

pagelist.add(pg);

}

}

}int pre=index-1;if(pre<1)

pre=1;int next=index+1;if(next>total)

next=total;

Map map=new HashMap();

map.put("pagelist", pagelist);//页码集合

map.put("pagenum", num+"");//每页记录数

map.put("index", index+"");//当前页码

map.put("pre", pre+"");//当前页码上一页

map.put("next", next+"");//当前页码下一页

map.put("first", "1");//第一页

map.put("last", total+"");//最后一页

result.put("code", "0");

result.put("msg", "");

result.put("page", map);returnresult;

}

java多页码分页_对页码进行分页相关推荐

  1. java jdbc分页_使用JDBC进行分页查询

    package day03; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLExc ...

  2. 动软 mysql 分页_动软.NET 分页存储过程UP_GetRecordByPage

    1, ------------------------------------ --用途:支持任意排序的分页存储过程 --说明: ----------------------------------- ...

  3. sqlserver 分页_四类数据库分页实现方案总结之PG分页实现

    概述 前面介绍了Oracle.mysql.sqlserver的分页实现方案了,所以今天主要介绍一下关于PG的分页实现.传统的精准分页(能获取到总页数并且任意跳转页码)在需要符合条件的记录总数目,不过p ...

  4. selectprovider 分页_修改EFOracleProvider——解决分页排序问题

    其实前面说的这些,支持9i啊,支持数据类型啊,支持自增长啊,或者是上网搜索就能解决,或者并不需要很高的技术含量. 但是支持分页排序的问题,可是花了我不少时间(净时间2天以上). 我们知道,在oracl ...

  5. ldaptemplate 分页_长图片如何分页打印?3秒搞定|360浏览器|chrome浏览器

    将永恒君的百宝箱设为星标 精品文章第一时间读 文章里面介绍的是用win自带的"画图"软件来进行设置和调节.这两天又发现一个更棒的技巧,和大家分享一下.这次需要用到的就是平常使用的浏 ...

  6. java 页码计算_分页之页面页码列表计算

    分页之页面页码列表计算 我们通过看百度的分页可以发现以下规律: 1.最多显示10个页码: 2.当前页在页码中的位置定为六: 所以只需要当前页码来定出来页码列表,定下来页码列表只需要两个数据:begin ...

  7. java web几百万分页_举例详解用Java实现web分页功能的方法

    举例详解用Java实现web分页功能的方法 发布于 2020-11-25| 复制链接 摘记: 分页问题是一个非常普遍的问题,开发者几乎都会遇到,这里不讨论具体如何分页,说明一下Web方式下分页的原理. ...

  8. java实现layui分页_基于LayUI分页和LayUI laypage分页的使用示例

    本文介绍了LayUI分页,LayUI动态分页,LayUI laypage分页,LayUI laypage刷新当前页,分享给大家,具体如下: 效果图: 一.引用js依赖 主要是jquery-1.11. ...

  9. php分页怎么实行跳转,php分页函数,支持页码下拉选择跳转

    //分页 if(!function_exists("pageDivide")){ #$total信息总数 #$shownu显示数量,默认20 #$url本页链接 function ...

最新文章

  1. 金融时报:谷歌撤离中国有99.9%的可能性
  2. css规则_CSS规则,将使您的生活更轻松
  3. Error in value[[3L]](cond) : You have a 32-bit version of Java. H2O works best with 64-bit Java.
  4. c++宏定义常量为什么使用移位_干货 | C语言系列3——常量,运算符,常用数学函数.........
  5. [算法]——归并排序(Merge Sort)
  6. Mysql数据库(二)——mysql数据库管理
  7. angualarjsdemo
  8. 机动车驾驶人科目三考试项目及合格标准
  9. property中的strong 、weak、copy 、assign 、retain 、unsaf
  10. wangluorenzhengmoban
  11. 2010南非世界杯32强手绘海报
  12. 基于PaaS人事部门间平台多重身份的技术解决方案
  13. python绘画海贼王_入门级项目实战,Python生成海贼王云图!
  14. BZOJ 2563 阿狸和桃子的游戏 题解(贪心)
  15. 计算新闻传播学临摹作业_数据抓取与数据清洗(西安交大国家艺术基金数据可视化培训第34天)
  16. 【移动应用开发】实验2Android UI
  17. python邮件发送和正则表达式(1)
  18. Linux主机Windows容器,了解用于Linux和 Windows容器的Docker“容器主机”与“容器操作系统”...
  19. 基督教的旧约圣经和新约圣经
  20. ECSHOP搜索引擎神器SEO秒收录插件,ECSHOP百度ping收录功能

热门文章

  1. 创建一个8*8的国际象棋棋盘(黑块为0,白块为1)
  2. 神舟十二号出征星辰大海--麒麟信安操作系统筑牢“千年飞天梦”软件基石
  3. Vue使用二维码生成微信支付
  4. 详解sklearn——CountVectorizer
  5. 【离散数学】代数系统,半群,独异点(幺半群),群,可交换群(Abel群)之间的关系
  6. fpga板子怎么和电脑连_FPGA与PC串口通信设计与实现
  7. 这个php兼职靠谱吗?一月3000?
  8. java五大浏览器,[Java教程]各主流浏览器(PC、移动端)userAgent属性信息
  9. iPad Air 3(iPad Air 2019)的主要参数与特性
  10. 【会声会影】导入的srt字幕文件,如何快速批量调整字体及大小