2008-06-12
类似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.javaeye.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.javaeye.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>
下面是效果:

发表评论
- 浏览: 258 次
- 性别:

- 来自: 上海

- 详细资料
搜索本博客
我的相册
tt
共 1 张
共 1 张
最近加入圈子
最新评论
-
类似javaeye 分页效果//结 ...
这个问题是一直有,但是又没有一个公认的好办法的问题。只能结合自己的项目选择某种方 ...
-- by laoliu.org -
类似javaeye 分页效果//结 ...
...
-- by fivipwu






评论排行榜