`
fivipwu
  • 浏览: 11407 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

类似javaeye 分页效果//结合velocity

阅读更多

今天由于项目的需要,做了个公用的分页。是结合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>

 下面是效果:

 

2
0
分享到:
评论
6 楼 hilly 2011-05-23  
不错。
不过效果中的下一页怎么文字显示的是上一页?
5 楼 liuzy84 2009-02-03  
这代码测都没测就发上来?
4 楼 liuzy84 2009-02-03  
asdfa
3 楼 renyanwei 2008-12-02  
恩 不错 学习;
2 楼 laoliu.org 2008-06-13  
这个问题是一直有,但是又没有一个公认的好办法的问题。只能结合自己的项目选择某种方案了。
1 楼 fivipwu 2008-06-12  

相关推荐

    http://yourgame.javaeye.com/blog/252853

    标题 "http://yourgame.javaeye.com/blog/252853" 提供的信息看起来是一个博客文章链接,但实际URL无法访问。不过,从提供的描述和标签中,我们可以推测这篇文章可能涉及了源码分析和工具使用相关的IT内容。描述中的...

    常用Java Web应用软件 (LNMJ,LAMJ)安装

    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最新文档

    - 使用ECSide组件实现列表分页、排序、查询及修改列宽等功能 - 通过页面工具导出PDF、XSL、CSV等格式文件 #### 二、系统开发结构 - **开发架构**:遵循标准的J2EE开发规范。 - **文件结构**: - `WEBROOT`: ...

    Flex + Hessian 留言本

    Flex + Hessian 学习笔记(一) http://wangcheng.javaeye.com/blog/141382 Flex + Hessian 学习笔记(二) http://wangcheng.javaeye.com/blog/141539 Flex + Hessian 学习笔记(三) ...

    仿javaeye的分页代码 非常经典 超级棒的分页代码 分页精华

    根据提供的文件信息,我们可以深入分析该段代码的功能与实现机制,并从中提炼出一系列与分页相关的知识点。 ### 知识点一:JavaScript分页插件的设计思路 此段代码为一个简单的JavaScript分页插件,名为`showPages...

    7.Coherence企业级缓存(六) JMX 管理和监控.pdf

    未来,随着大数据和云计算的持续发展,Coherence和JMX的结合将在企业IT架构中发挥更加重要的作用。 #### 相关阅读 - [Coherence企业级缓存(一)特点](http://raymondhekk.javaeye.com/blog/260414) - [Coherence...

    类似javaeye代码高亮显示

    &lt;body&gt;Java代码 ;'&gt; 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分页(原创)

    自己仿照javaeye写的jspf分页(原创),请各位多多指教

    velocity 入门文档及应用源码,很适合做自动代码生成

    3. **基于Ant+Velocity的简单代码生成器的思路与实现 - - Java - JavaEye论坛.mht**:这个文件可能是一个论坛帖子的存档,展示了使用Ant和Velocity构建代码生成器的具体步骤和案例讨论。 4. **velocity(1).rar** 和 ...

    很缺乏的中文 EXT-JS BUILD 帮助文档

    EXT-JS的构建过程是为了生成更小容量的`ext.js`文件,以提高网页加载速度和性能...通过这些资料,开发者可以深入理解EXT-JS的加载机制,找到优化加载速度的方法,并运用在线Build工具进行实践,以达到最佳的性能效果。

    pager-taglib-2.0完整源码和Struts演示示例工程

    二、可以看到我在数据库分页那里只是取出部分值,而不真正是数据分页,大家可以执着着把那个做出来给我一份看看。 三、我这几个示例都是没有查询条件传递的,大家想想如果要传递查询条件应怎么做?(test1.jsp...

    hadoop学习资料地址

    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集群部署的最佳实践...

    ExtJS 3.2 聊天室程序(类QQ群)

    这个程序是模仿QQ实现的群聊功能,基本类似聊天室.聊天记录每5条保存到数据库,具体请各位朋友细看. 技术:ExtJS 3.2 DWR 3.0 Struts 2.16 Spring 2.0 Hibernate 3.2 MySql 5.0 原文地址: ...

    仿JavaEye问答系统(SSH+Ajax,原创)

    该系统模仿JavaEye问答系统http://www.javaeye.com/ask 技术: Struts2,Spring,Hibernate3,Ajax,TinyMce,Mysql 数据库 用户名:root 密码:root 登录用户和密码 wangld 1 或者 linys 1 注: 导入到Eclipse...

    apache tomcat 6集群负载和session复制

    无意间看到tomcat 6集群的内容,就尝试配置了一下,还是遇到很多问题,特此记录。...本文主要介绍最为常见的JK。 环境:PC2台:pc1(IP 192.168.88.118)安装了apache和...http://jackandroid.javaeye.com/blog/627147

Global site tag (gtag.js) - Google Analytics