📄 pagetools.java
字号:
package com.saas.biz.commen;
import com.saas.sys.exp.SaasApplicationException;
/**
* @author:LiuYang
* @desc: 公用分页工具条
* @2008-7-2
*/
public class PageTools {
public PageTools() {
}
/**
* @param record_Sum
* 记录总数
* @param page_Size
* 显示条数
* @param page
* 调转页面
* @return 分页工具条
* @throws SaasApplicationException
*/
public String getPageTools(String record_Sum, String page_Size, String page, int current) throws SaasApplicationException {
int pagination = 0;// 页数
int page_Down = 1;
String first = "", end = "", up = "", down = "";
if (Integer.parseInt(record_Sum) % Integer.parseInt(page_Size) == 0) {
pagination = Integer.parseInt(record_Sum) / Integer.parseInt(page_Size);
}
else {
pagination = Integer.parseInt(record_Sum) / Integer.parseInt(page_Size) + 1;
}
if (current > pagination) {
current = pagination;
}
if (Integer.parseInt(record_Sum) == 0) {
first = "首页";
up = "上一页";
down = "下一页";
end = "尾页";
}
else if (current == 1) {
if (pagination > 1) {
page_Down = current + 1;
first = "首页";
up = "上一页";
down = "<a href='" + page + page_Down + "' style=color:#3300FF>下一页</a>";
end = "<a href='" + page + pagination + "' style=color:#3300FF>尾页</a>";
}
else {
first = "首页";
up = "上一页";
down = "下一页";
end = "尾页";
}
}
else if (current == pagination) {
first = "<a href='" + page + "1' style=color:#3300FF>" + "首页</a>";
up = "<a href='" + page + (current - 1) + "' style=color:#3300FF>上一页</a>";
down = "下一页";
end = "尾页";
}
else {
first = "<a href='" + page + "1' style=color:#3300FF>" + "首页</a>";
up = "<a href='" + page + (current - 1) + "' style=color:#3300FF>上一页</a>";
down = "<a href='" + page + (current + 1) + "' style=color:#3300FF>下一页</a>";
end = "<a href='" + page + pagination + "' style=color:#3300FF>尾页</a>";
}
String pageTools = "<td align='left' colspan='2' style='font-weight:bold; padding:2px 5px;'>" + "共<span style=color:#3300FF>" + record_Sum + "</span>条 共<span style=color:#3300FF>" + pagination + "</span>页" + " 第<span style=color:#FF0000>" + current + "</span>页" + "</td>" + "<td align='right' colspan='3' style='padding:2px 5px;font-weight: bold;'>" + first + " " + up + " " + down + " " + end + "</td>";
return pageTools;
}
public static void main(String[] args) throws SaasApplicationException {
System.out.println(new PageTools().getGoogleToolsBar(137, "page", 4, 5));
}
/**
* 生成google工具条
*
* @默认只出现10个分页符
*/
public String getGoogleToolsBar(int recordSum, String linkPage, int current, int size) throws SaasApplicationException {
/**
* 分页工具条
*/
String toolsBar = "";
/**
* 总页数
*/
int pageSize = 0;
if (recordSum % size == 0) {
pageSize = recordSum / size;
}
else {
pageSize = recordSum / size + 1;
}
// 计算分页
if (current > pageSize) {
current = pageSize;
}
if (current == 1) {
if (pageSize > 1) {
for (int i = 1; i < 10 && i <= pageSize; i++) {
if (i == current) {
page p = new page();
p.setNum(i + "");
p.setLink("<a href=" + linkPage + i + " style='font-weight:bold;color:#FF3300'>");
toolsBar = toolsBar + p.toString() + " ";
}
else {
page p = new page();
p.setNum(i + "");
p.setLink("<a href=" + linkPage + i + ">");
toolsBar = toolsBar + p.toString() + " ";
}
}
}
}
else if (current == pageSize) {
for (int i = pageSize; i > 0; i--) {
if (i == current) {
page p = new page();
p.setNum(i + "");
p.setLink("<a href=" + linkPage + i + " style='font-weight:bold;color:#FF3300'>");
toolsBar = p.toString() + " " + toolsBar;
}
else {
page p = new page();
p.setNum(i + "");
p.setLink("<a href=" + linkPage + i + ">");
toolsBar = p.toString() + " " + toolsBar;
}
}
}
else {
return pagination(recordSum, size, current, linkPage);
}
toolsBar = "共" + recordSum + "条 " + pageSize + "页 " + toolsBar;
return toolsBar;
}
/**
* @param total
* @param per
* @param page
* @param query_string
* @return
*/
public String pagination(int total, int per, int page, String query_string) {
int allpage = 0;
int next = 0;
int pre = 0;
int startcount = 0;
int endcount = 0;
String pagestr = "";
if (page < 1) {
page = 1;
}
// 计算总页数
if (per != 0) {
allpage = (total / per);
allpage = ((total % per) != 0 ? allpage + 1 : allpage);
allpage = (allpage == 0 ? 1 : allpage);
}
next = page + 1;
pre = page - 1;
startcount = (page + 5) > allpage ? allpage - 9 : page - 4;// 中间页起始序号
// 中间页终止序号
endcount = page < 5 ? 10 : page + 5;
if (startcount < 1) {
startcount = 1;
} // 为了避免输出的时候产生负数,设置如果小于1就从序号1开始
if (allpage < endcount) {
endcount = allpage;
}// 页码+5的可能性就会产生最终输出序号大于总页码,那么就要将其控制在页码数之内
pagestr = "共" + allpage + "页 ";
pagestr += page > 1 ? "<a href=\"" + query_string + "1\">首页</a> <a href=\"" + query_string + "" + pre + "\">上一页</a>" : "首页 上一页";
// 中间页处理
for (int i = startcount; i <= endcount; i++) {
pagestr += page == i ? " <font color=\"#ff0000\">[" + i + "]</font>" : " <a href=\"" + query_string + i + "\">[" + i + "]</a>";
}
pagestr += page != allpage ? " <a href=\"" + query_string + next + "\">下一页</a> <a href=\"" + query_string + allpage + "\">末页</a>" : " 下一页 末页";
return pagestr;
}
/**
* @author:LiuYang
* @desc: 页码对象
* @2008-7-4
*/
class page {
public page() {
this.head = "[";
this.bottom = "]";
}
private String head;
private String bottom;
private String num;
private String link;
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
public String toString() {
return link + head + num + bottom + "</a>";
}
public String getHead() {
return head;
}
public void setHead(String head) {
this.head = head;
}
public String getBottom() {
return bottom;
}
public void setBottom(String bottom) {
this.bottom = bottom;
}
public String getLink() {
return link;
}
public void setLink(String link) {
this.link = link;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -