效果如下:
代码如下:
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
分享到:
相关推荐
【标题】:“模仿移动后台收费”项目概述 这个项目的核心是构建一个类似于中国移动后台收费的管理系统,采用的技术栈包括Struts2、Mysql数据库以及jQuery和Ajax。这是一套基于Web的应用程序,旨在模拟和处理移动...
百度的分页设计简洁明了,易于用户操作,因此在Web应用中广泛模仿。 首先,让我们了解一下Struts2框架。Struts2是一个基于MVC(Model-View-Controller)架构的Java Web框架,它提供了强大的动作调度、结果映射、...
10. **学习资源**:此模板提供了一个学习平台,初学者可以通过分析和模仿模板中的设计思路和技巧,快速掌握后台管理系统的设计规范和Axure RP的使用方法。 总的来说,这个模板涵盖了后台管理系统设计的关键元素,...
3. 分页事件:如PageIndexChanging事件,当用户点击分页按钮时触发,允许开发者执行相关的后台操作,如更新数据库查询。 4. 自定义分页:当内置的分页功能不能满足需求时,开发者可以创建自定义控件,如...
在这个项目中,我们关注的是“datalist2种分页样式源码源数据库”,它提供了两种分页样式:数字分页,模仿了百度和Google的分页效果,并且附带了源代码和源数据库。这个解决方案旨在实现一个无需额外控件的分页功能...
在 Struts2 中,Action 是处理用户请求的核心组件,通过配置 Action,可以实现分页所需的逻辑处理。以下是一段典型的 Action 配置代码: ```java private Integer id; private String content; private String ...
"联系人分级分页显示demo"就是一个很好的示例,它模仿了钉钉应用中的部门与联系人展示方式,提供了清晰、有组织的用户界面。在这个项目中,我们可以学到几个关键的技术点和设计原则。 首先,**通讯录管理**是系统的...
"wpf分页工具"是一个专门为WPF应用程序设计的控件,它模仿了网页常见的分页样式,为用户提供了一种直观、易用的方式来浏览和导航大量的数据集合。 在WPF中,数据分页通常是通过绑定数据源到UI元素来实现的,例如...
2. **ElementUI**:ElementUI是基于Vue.js设计的,提供了一系列精致的组件,如Table(表格)、Form(表单)、Pagination(分页)、Dialog(对话框)等,为开发者快速搭建美观的后台界面提供了便利。同时,ElementUI...
2. **Mac风格设计**: Mac风格是指模仿Apple macOS操作系统用户界面的设计,它通常具有扁平化设计、明亮的色彩、简洁的线条和高对比度的图标。这种设计风格注重用户体验,力求直观易用,同时保持美学上的吸引力。 3....
这个“Bootstrap mac风格后台管理模板”显然是基于Bootstrap框架,专门设计出的一种模仿苹果Mac操作系统的界面风格,旨在为用户提供一种熟悉且现代的用户体验。 模板通常包括各种页面布局、导航选项、表单组件、...
QQ菜单通常指的是模仿QQ风格的导航菜单,而jsp标签则是一种在JavaServer Pages (JSP) 中简化HTML生成的机制,允许开发者用Java代码定义可重用的UI组件。`noka3.9`可能是这个项目或库的版本号,暗示这是一个升级版的...
【百度竞价排名项目】是一个基于ASP.NET、C#和.NET框架开发的项目,旨在模仿百度后台的竞价排名机制。这个项目虽然在功能上尚未完善,但仍包含了许多有价值的技术点,对于学习和理解Web应用程序开发有很好的参考价值...
这个界面设计的重点在于实现用户在不同页面间的流畅滑动和切换,这通常涉及到视图分页器(ViewPager)和Fragment的集成使用。 【描述】:在Android应用开发中,"模仿微信5.0界面"的实现主要涉及以下几个关键点: 1...
这个压缩包文件“安卓FragmentTab选项卡相关-ViewPager仿微信分页导航多Activity载入.rar”似乎提供了一个示例,展示了如何在Android应用中模仿微信的分页导航功能,同时使用多个Activity来承载内容。以下是对这些...
【描述】提到“基于SSM的后台”,SSM是Spring、SpringMVC和MyBatis三个框架的简称,是Java Web开发中常用的组合。Spring框架负责管理应用的业务逻辑和依赖注入,SpringMVC处理HTTP请求和响应,MyBatis则作为持久层...
"仿新闻头条首页分页显示"这个项目是针对新闻类应用或网站的首页设计,模仿了像“新闻头条”这样的头部媒体平台的分页展示效果。这种设计通常包括顶部导航栏,用户可以通过滑动来切换不同的内容栏目,从而获取不同...
- 为了保持代码的可维护性和可读性,可以采用模块化编程,将功能划分为不同的组件,如分类导航组件、商品列表组件等。 - 使用现代JavaScript(如ES6)的特性,如`class`、`import/export`,可以更好地组织和复用...
"百度式下拉刷新框架"是一种专为移动应用设计的组件,它模仿了百度网站的下拉刷新交互体验,提供了更为流畅和人性化的用户界面。这个框架的核心目标是改进传统的下拉刷新机制,使其在手势识别和动画效果上更加合理和...
项目中可能使用了Jetpack中的组件,如Room(数据库)、WorkManager(后台任务处理)、Paging(分页加载)等,来提升应用的性能和用户体验。 7. **自定义动画**: - 为了模仿微信的导航页效果,可能会在Fragment...