package commn.pagination;
public class Pagination {
// curpage--当前所在页
private int curpage = 1;
// intTotalNum--记录总数
private int intTotalNum = 0;
// intLineNum--每页显示的记录数
private int pagenum = 0;
// liststep - 6
private int liststep = 8;
private String PREVIOUS_PAGE = "« 上一页";
private String NEXT_PAGE = "下一页 »";
public String getHref(int number) {
return "Javascript:goPage(" + number + ");";
}
public String goHref(int number) {
return "<a href=\"" + getHref(number) + "\">" + number + "</a>";
}
public String showPages() {
StringBuffer strBuf = new StringBuffer(512);
// 总页数
int pagecount = (intTotalNum / pagenum) + 1;
if ((intTotalNum % pagenum) == 0)
pagecount = intTotalNum / pagenum;
// 初始化值
if (curpage == 0) {
curpage = 1;
} else {
if (curpage <= 0) {
curpage = 1;
}
if (curpage > pagecount) {
curpage = pagecount;
}
}
strBuf.append("<div class=\"pagination\">");
// 显示上一页
if (curpage > 1) {
// 加上链接 curpage-1
strBuf.append("<a href=\"" + getHref(curpage - 1)
+ "\" class=\"prev_page\" rel=\"prev start\">"
+ PREVIOUS_PAGE + "</a>");
} else {
strBuf.append("<span class=\"disabled prev_page\">" + PREVIOUS_PAGE
+ "</span>");
}
// 分页
// 按照liststep=6计算
if (pagecount <= liststep + 2) {
// liststep以内,全显示
// 1,2,3,4,5,6,7,8
for (int i = 1; i <= pagecount; i++) {
if (i == curpage) {
strBuf.append("<span class=\"current\">" + i + "</span>");
} else {
strBuf.append(goHref(i));
}
}
} else {
if (curpage < liststep) { // 左边 1...5
// 1,2,3,4,5,6,...,pagecount-1,pagecount
for (int i = 1; i <= liststep; i++) {
if (i == curpage) {
strBuf.append("<span class=\"current\">" + i
+ "</span>");
} else {
strBuf.append(goHref(i));
}
}
strBuf.append("<span class=\"gap\">…</span>");
strBuf.append(goHref(pagecount - 1));
strBuf.append(goHref(pagecount));
} else if (curpage > pagecount - liststep + 1) { // 右边
// 1,2,...pagecount-5,pagecount-4,pagecount-3,pagecount-2,pagecount-1,pagecount
strBuf.append(goHref(1));
strBuf.append(goHref(2));
strBuf.append("<span class=\"gap\">…</span>");
for (int i = pagecount - liststep + 1; i <= pagecount; i++) {
if (i == curpage) {
strBuf.append("<span class=\"current\">" + i
+ "</span>");
} else {
strBuf.append(goHref(i));
}
}
} else { // 中间
// 1,2,...,curpage-1,curpage,curpage+1,...,pagecount-1,pagecount
strBuf.append(goHref(1));
strBuf.append(goHref(2));
strBuf.append("<span class=\"gap\">…</span>");
int offset = (liststep - 4) / 2;
for (int i = curpage - offset; i <= curpage + offset; i++) {
if (i == curpage) {
strBuf.append("<span class=\"current\">" + i
+ "</span>");
} else {
strBuf.append(goHref(i));
}
}
strBuf.append("<span class=\"gap\">…</span>");
strBuf.append(goHref(pagecount - 1));
strBuf.append(goHref(pagecount));
}
}
// 显示下-页
if (curpage != pagecount) {
// 加上链接 curpage+1
strBuf.append("<a href=\"" + getHref(curpage + 1)
+ "\" class=\"next_page\" rel=\"next\">" + NEXT_PAGE
+ "</a>");
} else {
strBuf.append("<span class=\"disabled next_page\">" + NEXT_PAGE
+ "</span>");
}
strBuf.append("</div>");
return strBuf.toString();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int intTotalNum = 900;
int curpage = 65;
int pagenum = 10;
Pagination page = new Pagination();
page.setIntTotalNum(intTotalNum);
page.setCurpage(curpage);
page.setPagenum(pagenum);
System.out.print(page.showPages());
}
public int getCurpage() {
return curpage;
}
public void setCurpage(int curpage) {
this.curpage = curpage;
}
public int getIntTotalNum() {
return intTotalNum;
}
public void setIntTotalNum(int intTotalNum) {
this.intTotalNum = intTotalNum;
}
public int getListstep() {
return liststep;
}
public void setListstep(int liststep) {
this.liststep = liststep;
}
public int getPagenum() {
return pagenum;
}
public void setPagenum(int pagenum) {
this.pagenum = pagenum;
}
}
----html
<HTML>
<HEAD>
<TITLE> 分页测试 </TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<!-- 显示样式 -->
<style type="text/css">
BODY {
FONT-SIZE: 12px; COLOR: black; LINE-HEIGHT: 1.5; FONT-FAMILY: Arial, sans-serifarial, Verdana, Helvetica; TEXT-ALIGN: left
}
.pagination {
PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FLOAT: right; PADDING-BOTTOM: 5px; PADDING-TOP: 5px
}
.pagination A {
BORDER-RIGHT: #aaaadd 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #aaaadd 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 2px; MARGIN: 2px; BORDER-LEFT: #aaaadd 1px solid; COLOR: #006699; PADDING-TOP: 2px; BORDER-BOTTOM: #aaaadd 1px solid; TEXT-DECORATION: none
}
.pagination A:link {
BORDER-RIGHT: #aaaadd 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #aaaadd 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 2px; MARGIN: 2px; BORDER-LEFT: #aaaadd 1px solid; COLOR: #006699; PADDING-TOP: 2px; BORDER-BOTTOM: #aaaadd 1px solid; TEXT-DECORATION: none
}
.pagination A:visited {
BORDER-RIGHT: #aaaadd 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #aaaadd 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 2px; MARGIN: 2px; BORDER-LEFT: #aaaadd 1px solid; COLOR: #006699; PADDING-TOP: 2px; BORDER-BOTTOM: #aaaadd 1px solid; TEXT-DECORATION: none
}
.pagination A:hover {
BORDER-RIGHT: #006699 1px solid; BORDER-TOP: #006699 1px solid; BORDER-LEFT: #006699 1px solid; COLOR: #000; BORDER-BOTTOM: #006699 1px solid; TEXT-DECORATION: none
}
.pagination A:active {
BORDER-RIGHT: #006699 1px solid; BORDER-TOP: #006699 1px solid; BORDER-LEFT: #006699 1px solid; COLOR: #000; BORDER-BOTTOM: #006699 1px solid; TEXT-DECORATION: none
}
.pagination SPAN.current {
BORDER-RIGHT: #006699 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #006699 1px solid; PADDING-LEFT: 5px; FONT-WEIGHT: bold; PADDING-BOTTOM: 2px; MARGIN: 2px; BORDER-LEFT: #006699 1px solid; COLOR: #fff; PADDING-TOP: 2px; BORDER-BOTTOM: #006699 1px solid; BACKGROUND-COLOR: #006699
}
.pagination SPAN.disabled {
BORDER-RIGHT: #eee 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #eee 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 2px; MARGIN: 2px; BORDER-LEFT: #eee 1px solid; COLOR: #ddd; PADDING-TOP: 2px; BORDER-BOTTOM: #eee 1px solid
}
//-->
</STYLE>
<div class="pagination"><a href="Javascript:goPage(64);" class="prev_page" rel="prev start">« 上一页</a><a href="Javascript:goPage(1);">1</a><a href="Javascript:goPage(2);">2</a><span class="gap">…</span><a href="Javascript:goPage(63);">63</a><a href="Javascript:goPage(64);">64</a><span class="current">65</span><a href="Javascript:goPage(66);">66</a><a href="Javascript:goPage(67);">67</a><span class="gap">…</span><a href="Javascript:goPage(89);">89</a><a href="Javascript:goPage(90);">90</a><a href="Javascript:goPage(66);" class="next_page" rel="next">下一页 »</a></div>
<BODY>
分享到:
相关推荐
Java分页Java分页Java分页Java分页Java分页Java分页Java分页Java分页Java分页
java 通用分页java 通用分页java 通用分页java 通用分页
java实现分页 jsp分页 分页java实现分页 jsp分页 分页java实现分页 jsp分页 分页java实现分页 jsp分页 分页java实现分页 jsp分页 分页java实现分页 jsp分页 分页
java 数据分页显示 java 数据分页显示 java 数据分页显示
Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类
Java SE程序 连接数据库的分页Java SE程序 连接数据库的分页Java SE程序 连接数据库的分页Java SE程序 连接数据库的分页Java SE程序 连接数据库的分页Java SE程序 连接数据库的分页Java SE程序 连接数据库的分页Java...
JAVA分页JAVA分页
很好用的 分页组件 分页 java 代码
java几种分页方法java几种分页方法java几种分页方法 java几种分页方法java几种分页方法java几种分页方法 java几种分页方法java几种分页方法java几种分页方法 java几种分页方法java几种分页方法java几种分页方法
Java API整合ES实现深分页,高亮等操作
Java分页李晗版 java 分页Java分页李晗版 java 分页Java分页李晗版 java 分页
java的动态树形菜单,和分页的实现,源码加数据库,可直接运行。
page.java java分页工具类
JAVA分页大全 包括了众多的分页方法struts分页...
Java Swing JTable分页!JAVA源码!
java实现oracle分页策略完整版,可当做参考类使用,有详细注释,适合初学者。
JAVA分页实现,JAVA源代码+JS+HTML
java Pagination(分页并操作)java Pagination(分页并操作)java Pagination(分页并操作)
java无刷新分页java无刷新分页java无刷新分页
java导出pdf文件,可分页输出,同时生成水印