今天由于项目的需要,做了个公用的分页。是结合velocity做的。下面是一些源码:下面的我的思路做了个测试
/**
*
*/
package ff;
/**
* @author Administrator
*
*/
public class Test {
/**
*
*/
public Test() {
// TODO 自动生成构造函数存根
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
int pageNo = 20;
int liststep = 6;// 最多显示分页页数
int z = 1;
for (int z = 1; z <= pageNo; z++) {
int pages = z;// 默认显示第一页
if (pages < 1) {
pages = 1;// 如果分页变量小于1,则将分页变量设为1
}
int listbegin = (pages - (int) Math.ceil((double) liststep / 2))<1?1:(pages - (int) Math.ceil((double) liststep / 2));// 从第几页开始显示分页信息
int listend = pages + liststep / 2;// 分页信息显示到第几页
if (listend > pageNo) {
listend = pageNo + 1;
}
System.out.println("=======================================");
System.out.println("第"+z+"页");
// <显示上一页
if (pages > 1) {
System.out.print("[上一页]");
}
//第一页控制
if(listbegin>1){
System.out.print("[1]******");
}
// <显示分页码
//System.out.println(listend);
for (int i = listbegin; i < listend; i++) {
if(i>=pageNo)break;
if (i != pages) {// 如果i不等于当前页
System.out.print("[" + i + "]");
} else {
System.out.print("[_" + i + "_]");
}
}
//最后一页控制
if(listend<pageNo)
System.out.print("******["+pageNo+"]");
else if(pageNo==pages)
System.out.print("[_"+pageNo+"_]");
else
System.out.print("["+pageNo+"]");
//下-页控制
if (pages != pageNo) {
System.out.print("[下一页]");
}
System.out.println("");
System.out.println("");
}
}
}
下面是我的模板里的velocity代码
<DIV class=pagination>
#set($pageNo=15) ##当前页码
#set($pageSum=20) ##总页数
#set($liststep = 6) ##显示分页页数
#if($pageNo < 1)
$pageNo = 1 ##如果分页变量小于1,则将分页变量设为1
#end
#set($bar = $liststep/2)
#if(($pageNo - $bar) < 1)
#set($listbegin = 1)
#else
#set($listbegin = $pageNo - $bar) ##分页信息开始显示到第几页
#end
#set($listend = $pageNo + $bar) ##分页信息结束显示到第几页
#if($listend > $pageSum)
#set($listend = $pageSum) ##分页信息结束显示超过了总页数处理
#end
第$pageNo页 ##显示当前页
#if($pageNo > 1) ##显示上一页处理
<a title="上一页" href="http://127.0.0.1:8080/FIVIPvip/sys/menu.do?method=menu5&pageNo=$paginator.getPrevious()">上一页</a>
#end
#if($listbegin > 1) ##第一页控制
<A href="http://www.iteye.com/blogs?page=1" rel=start>1</A><SPAN class=gap>…</SPAN>
#end
#foreach($i in [$listbegin..$listend])
##if($i <= $pageSum) ##分页码的显示
#if($i != $pageNo)
<A href="http://127.0.0.1:8080/FIVIPvip/sys/menu.do?method=menu5&pageNo=$i" rel=start>$i</A>
#else
<SPAN class=current>$i</SPAN>
#end
##end
#end
#if($listend < $pageSum) ##最后一页的处理
<SPAN class=gap>…</SPAN><A href="http://www.iteye.com/blogs?page=$pageSum" rel=start>$pageSum</A>
#end
#if($pageNo != $pageSum) ##显示下一页处理
<a title="上一页"
href="http://127.0.0.1:8080/FIVIPvip/sys/menu.do?method=menu5&pageNo=$paginator.getNext()">下一页</a>
#end
</div>
下面是效果:
分享到:
相关推荐
标题 "http://yourgame.javaeye.com/blog/252853" 提供的信息看起来是一个博客文章链接,但实际URL无法访问。不过,从提供的描述和标签中,我们可以推测这篇文章可能涉及了源码分析和工具使用相关的IT内容。描述中的...
http://peterwei.javaeye.com/blog/968815 Ubuntu10下JDK1.6安装 http://peterwei.javaeye.com/blog/968758 Ubuntu10下Tomcat7安装 http://peterwei.javaeye.com/blog/968774 Ubuntu10下Eclipse3.6安装 ...
- 使用ECSide组件实现列表分页、排序、查询及修改列宽等功能 - 通过页面工具导出PDF、XSL、CSV等格式文件 #### 二、系统开发结构 - **开发架构**:遵循标准的J2EE开发规范。 - **文件结构**: - `WEBROOT`: ...
Flex + Hessian 学习笔记(一) http://wangcheng.javaeye.com/blog/141382 Flex + Hessian 学习笔记(二) http://wangcheng.javaeye.com/blog/141539 Flex + Hessian 学习笔记(三) ...
根据提供的文件信息,我们可以深入分析该段代码的功能与实现机制,并从中提炼出一系列与分页相关的知识点。 ### 知识点一:JavaScript分页插件的设计思路 此段代码为一个简单的JavaScript分页插件,名为`showPages...
未来,随着大数据和云计算的持续发展,Coherence和JMX的结合将在企业IT架构中发挥更加重要的作用。 #### 相关阅读 - [Coherence企业级缓存(一)特点](http://raymondhekk.javaeye.com/blog/260414) - [Coherence...
<body>Java代码 ;'> public class Test { /** * 测试main * @param args */ public static void main(String[] args) { Integer in=10; String str="abc"; System.out.println(in+str);...部分代码
自己仿照javaeye写的jspf分页(原创),请各位多多指教
3. **基于Ant+Velocity的简单代码生成器的思路与实现 - - Java - JavaEye论坛.mht**:这个文件可能是一个论坛帖子的存档,展示了使用Ant和Velocity构建代码生成器的具体步骤和案例讨论。 4. **velocity(1).rar** 和 ...
EXT-JS的构建过程是为了生成更小容量的`ext.js`文件,以提高网页加载速度和性能...通过这些资料,开发者可以深入理解EXT-JS的加载机制,找到优化加载速度的方法,并运用在线Build工具进行实践,以达到最佳的性能效果。
二、可以看到我在数据库分页那里只是取出部分值,而不真正是数据分页,大家可以执着着把那个做出来给我一份看看。 三、我这几个示例都是没有查询条件传递的,大家想想如果要传递查询条件应怎么做?(test1.jsp...
3. **Hadoop部署与升级**:`http://www.slideshare.net/steve_l/dynamic-hadoop-clusters`, `http://zkl-1987.javaeye.com/blog/365172`, `http://www.javaeye.com/topic/365172` - 提供了Hadoop集群部署的最佳实践...
这个程序是模仿QQ实现的群聊功能,基本类似聊天室.聊天记录每5条保存到数据库,具体请各位朋友细看. 技术:ExtJS 3.2 DWR 3.0 Struts 2.16 Spring 2.0 Hibernate 3.2 MySql 5.0 原文地址: ...
该系统模仿JavaEye问答系统http://www.javaeye.com/ask 技术: Struts2,Spring,Hibernate3,Ajax,TinyMce,Mysql 数据库 用户名:root 密码:root 登录用户和密码 wangld 1 或者 linys 1 注: 导入到Eclipse...
无意间看到tomcat 6集群的内容,就尝试配置了一下,还是遇到很多问题,特此记录。...本文主要介绍最为常见的JK。 环境:PC2台:pc1(IP 192.168.88.118)安装了apache和...http://jackandroid.javaeye.com/blog/627147