📄 pagelist.java
字号:
package kmd.commo;
/**
* 数据信息列表
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2007</p>
* <p>Company: 重庆科美达电脑有限公司</p>
* @author not attributable
* @version 1.0
*/
import java.util.ArrayList;
public class PageList extends ArrayList {
/**
* 当前页数
*/
public int pageno;
/**
* 每页显示记录数
*/
public int pagesize;
/**
* 总页数
*/
public int pagenum;
/**
* 总纪录数
*/
public int pagesum;
/**
* 开始记录数
*/
public int startPos;
/**
* 结束记录数
*/
public int endPos;
/**
* 默认页大小
*/
public final static int defaultpagesize = 20;
/**
* 默认构造符
*/
public PageList() {}
public PageList(int pageno, int pagesize) {
if (pageno < 0) {
pageno = 0;
}
this.pageno = pageno;
this.pagesize = pagesize;
}
/**
* 计算其它属性
* @param pagesum 总纪录数
* @param pageno 当前页
* @param pagesize 页大小
*/
public PageList(int pagesum, int pageno, int pagesize) {
calculate(pagesum, pageno, pagesize);
}
/**
* 计算其它属性
* @param pagesum 总纪录数
*/
public void calculate(int pagesum) {
calculate(pagesum, pageno, pagesize);
}
/**
* 计算其它属性
* @param pagesum 总纪录数
* @param pageno 当前页
* @param pagesize 页大小
*/
public void calculate(int pagesum, int pageno, int pagesize) {
if (pagesum < 1) {
return;
}
if (pagesize == 0) {
return;
}
if (pageno < 1) {
pageno = 1;
}
this.pageno = pageno;
this.pagesize = pagesize;
this.pagesum = pagesum;
if (pagesize > 0) {
if (pagesum % pagesize > 0) {
pagenum = pagesum / pagesize + 1;
} else {
pagenum = pagesum / pagesize;
}
if (pageno > pagenum) {
this.pageno = pagenum;
}
if (this.pageno < 1) {
this.pageno = 1;
}
startPos = (this.pageno - 1) * pagesize + 1;
endPos = this.pageno * pagesize;
} else {
startPos = 1;
endPos = pagesum;
}
}
/**
* 显示分页标志
* @param pl 列表
* @return 结果
*/
public static String getPage(PageList pl) {
return getPage(pl, 10, null);
}
/**
* 显示分页标志
* @param pl 列表
* @param pagenum 显示的数目
* @return 结果
*/
public static String getPage(PageList pl, int pagenum) {
return getPage(pl, pagenum, null);
}
/**
* 显示分页标志
* @param pl 列表
* @param pagenum 显示的数目
* @param strPage 分页参数
* @return 结果
*/
public static String getPage(PageList pl, int pagenum, String strPage) {
String rValue = null;
try {
if (pl != null) {
StringBuffer sb = new StringBuffer();
if (strPage != null && !strPage.equals("")) {
strPage = ",\"" + strPage + "\"";
} else {
strPage = "";
}
if (pagenum < 1) {
pagenum = 10;
}
sb.append("共计[<font color='#FF0000'>" + pl.pagesum + "</font>]条信息," +
pl.pageno + "/" + pl.pagenum + "页。");
if (pl.pageno > 1) {
sb.append(" <a href='JavaScript:tunePage(1" + strPage +
")'>|<</a> <a href='JavaScript:tunePage(" +
(pl.pageno - 1) + strPage + ")'><</a>");
}
int currentNum = (pl.pageno % pagenum == 0 ? (pl.pageno / pagenum) - 1 :
(int) (pl.pageno / pagenum)) * pagenum;
if (currentNum < 0) {
currentNum = 0;
}
if (pl.pageno > pagenum) {
sb.append(" <a href='JavaScript:tunePage(" +
(currentNum - pagenum + 1) + strPage + ")'>...</a>");
}
for (int i = 0; i < pagenum; i++) {
if ((currentNum + i + 1) > pl.pagenum || pl.pagenum < 2) {
break;
}
sb.append(" <a href='JavaScript:tunePage(" + (currentNum + i + 1) +
strPage + ")'>[" +
(currentNum + i + 1 == pl.pageno ?
"<font color='#FF0000'><b>" + (currentNum + i + 1) +
"</b></font>" : (currentNum + i + 1) + "") + "]</a>");
}
if (pl.pagenum > (currentNum + pagenum)) {
sb.append(" <a href='JavaScript:tunePage(" +
(currentNum + 1 + pagenum) + strPage + ")'>...</a>");
}
if (pl.pageno < pl.pagenum) {
sb.append(" <a href='JavaScript:tunePage(" + (pl.pageno + 1) +
strPage + ")'>></a> <a href='JavaScript:tunePage(" +
pl.pagenum + strPage + ")'>>|</a>");
}
rValue = sb.toString();
sb = null;
} else {
rValue = "";
}
} catch (Exception e) {
rValue = "";
}
pl = null;
return rValue;
}
/**
* 生成分页标志
* @param pl PageList
* @param pagenum int
* @param strPage String
* @param param String
* @return String
*/
public static String getPage(PageList pl, int pagenum, String strPage,
String param) {
String rValue = null;
try {
if (pl != null) {
StringBuffer sb = new StringBuffer();
if (strPage != null && !strPage.equals("")) {
strPage = ",\"" + strPage + "\"";
} else {
strPage = "";
}
if (pagenum < 1) {
pagenum = 10;
}
sb.append("共计[<font color='#FF0000'>" + pl.pagesum + "</font>]条信息," +
pl.pageno + "/" + pl.pagenum + "页。");
if (pl.pageno > 1) {
sb.append(" <a href='" + param + "&pageNo=1" + strPage +
"'>|<</a> <a href='"
+ param + "&pageNo=" + (pl.pageno - 1) + strPage +
"'><</a>");
}
int currentNum = (pl.pageno % pagenum == 0 ? (pl.pageno / pagenum) - 1 :
(int) (pl.pageno / pagenum)) * pagenum;
if (currentNum < 0) {
currentNum = 0;
}
if (pl.pageno > pagenum) {
sb.append(" <a href='" + param + "&pageNo=" +
(currentNum - pagenum + 1) + strPage + "'>...</a>");
}
for (int i = 0; i < pagenum; i++) {
if ((currentNum + i + 1) > pl.pagenum || pl.pagenum < 2) {
break;
}
sb.append(" <a href='" + param + "&pageNo=" + (currentNum + i + 1) +
strPage + "'>[" +
(currentNum + i + 1 == pl.pageno ?
"<font color='#FF0000'><b>" + (currentNum + i + 1) +
"</b></font>" : (currentNum + i + 1) + "") + "]</a>");
}
if (pl.pagenum > (currentNum + pagenum)) {
sb.append(" <a href='" + param + "&pageNo=" +
(currentNum + 1 + pagenum) + strPage + "'>...</a>");
}
if (pl.pageno < pl.pagenum) {
sb.append(" <a href='" + param + "&pageNo=" + (pl.pageno + 1) +
strPage + "'>></a> <a href='" + param + "&pageNo=" +
pl.pagenum + strPage + "'>>|</a>");
}
rValue = sb.toString();
sb = null;
} else {
rValue = "";
}
} catch (Exception e) {
rValue = "";
}
pl = null;
return rValue;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -