效果如下:
代码如下:
public String createPageHtml(int totalPages,int pageNo,int showPages,String href) {
String htmlstr = "";
if(totalPages <= 1) {//只有1页,直接返回空串
return htmlstr;
} else {
if(pageNo <= 0 || pageNo > totalPages) {
pageNo = 1;
}
String href1 = href + "?totalPages=" + totalPages + "&showPages=" + showPages + "&pageNo=";
if(pageNo != 1) {
String href2 = href1 + (pageNo-1);
htmlstr = " <div class=\"fontPage\"><a href=\"" +href2 + "\" style=\"text-decoration: none;\"><上一页</a></div> ";
}
int loopCount = showPages;
int mod = totalPages % showPages;
//计算总组数
int a = (mod == 0) ? totalPages / showPages : (totalPages / showPages) + 1;
//这个a1是代表当前pageNo位于第几组
int a1 = pageNo%showPages == 0 ? (pageNo/showPages) : (pageNo/showPages) + 1;
if(a == a1 && mod > 0) {
loopCount = mod;
}
//这个startPage是代表当前pageNo所属组的一个元素编号的变量
//计算公式是: showPages * 第几组 - showPages + 1
int startPage = (showPages * a1) - showPages + 1;
for(int i = 1; i <= loopCount; i++) {
String href3 = href1 + startPage;
String s = " <div class=\"normalPage\"><a href=\"" + href3 + "\" style=\"text-decoration: none;\">" + startPage + "</a></div> ";
if(startPage == pageNo) {
s = " <div class=\"currPage\"><a href=\"" + href3 + "\" style=\"text-decoration: none;\">" + startPage + "</a></div> ";
}
htmlstr = htmlstr + s;
startPage ++;
}
String href4 = href1 + (pageNo+1);
htmlstr = htmlstr + " <div class=\"fontPage\"><a href=\"" + href4 + "\" style=\"text-decoration: none;\">>下一页</a></div> ";
}
return htmlstr;
}
css如下:
.currPage {
float:left;
width: 18px;
height: 18px;
text-align: center;
line-height:18px;
margin-right: 5px;
font-size: 13px;
text-decoration: none;
}
.fontPage {
float:left;
border: 1px solid;
width: 60px;
height: 18px;
border-color: gray;
text-align: center;
line-height:18px;
margin-right: 5px;
font-size: 12px;
}
.normalPage {
float:left;
border: 1px solid;
width: 18px;
height: 18px;
border-color: gray;
text-align: center;
line-height:18px;
margin-right: 5px;
font-size: 13px;
text-decoration: none;
}
调用方式如下:
<%=new PageServlet().createPageHtml(totalPages,pageNo,showPages,href) %>
- 大小: 1.3 KB
分享到:
相关推荐
displaytag 一个后台管理的分页组件,非常好用,代码量少
带学员课上做的oracle模仿百度分页样式的例子。比较适合初学者参考,jdbc工具类是自己写的,没有使用第三方分页组件。tomcat是apache-tomcat-7.0.41,myeclipse是MyEclipse 9.0,oracle是11g。例子中用的是海量数据...
ibatis_likehbm高效分页组件ibatis_likehbm高效分页组件ibatis_likehbm高效分页组件ibatis_likehbm高效分页组件ibatis_likehbm高效分页组件ibatis_likehbm高效分页组件 ibatis_likehbm高效分页组件 ibatis_likehbm...
JSF分页组件2,JSF分页组件2
很好用的 分页组件 分页 java 代码
运用实例模仿百度的分页,包含数据库完整实例!于此分享大家共同学习、共同进步
由于ES数据量过大时,跳级分页查询会导致性能问题,故将分页模式修改为百度分页。最多展示十页分页内容,不再进行分着折行操作。附件中是分页的组件,系统中引入后更换引入名称即可
Vue2.0分页组件
基于vue+elementUI开发的分页组件,后端项目配置使用PageHelper,前端配合使用此组件。
基于Bootstrap样式的分页组件
对于Flex +BlazeDS+java开发的项目分页组件的实现,基本设计是分页ui组件负责前台分页的显示,后台java实现sql分页查询。 附带源码。
ssm后台分页,实现按条件查询进行后台分页,数据库用的mysq
小程序自定义选择分页组件. 三个参数 max_page:最大分页数 page:当前选择页 show:是否显示 bind: selectPage 分页选择事件 引入组件即可使用
jquery分页组件,快速实现分页效果,使用该组件需导入jQuery,且jQuery须在该组件之前导入
A vue pagination component 一个vue分页组件
分页组件+反射·企业级应用·非常强大!欢迎下载!!
rPage 是一个易于使用的插件,它能使 BootStrap3 的分页更加灵敏。rPage 自动收缩分页组件,并且当空间不够时删除一些组件。 标签:rPage
Qt5的分页组件,可以直接用,无外部依赖和资源依赖。 具体介绍和使用请看这里:https://blog.csdn.net/lixiaoxing2/article/details/109289103
很通用的Flex 分页组件,经过本人测试,可以应用到项目中,很方便
本资源主要实现分页组件,可对某些参数进行针对性的设置,解决了大部分需求,并将其中函数进行封装扩展到jquery中