📄 pages.java
字号:
package cn.myvideosite.web.util;
import java.util.List;
@SuppressWarnings("unchecked")
public class Pages {
private int totalPages;//总页数
private int currPage = 1;//当前页数,初始为1 默认显示第一页
private int firstRecord = 0;//当前查询起始记录数
private int pageNum = 10;//每页多少条,初始为8
//记录总条数,初始为-1:第一表示从未赋值 即getTotal未调用 ;否则如果 == 0 表示数据库为空,但getTotal 已经被调用;
//否则 大于0 表示数据库记录大于0 ,getTotal别调用
private int totalRecord = -1;
private List dataList;//保存数据库查询结果集
private int listStep = 10;//最多显示分分页页数
private int listBegin;//从第几页开始显示分页信息
private int listEnd;//分页信息显示到第几页
public Pages() {
super();
}
public Pages(int totalRecord) {
setTotalRecord(totalRecord);
}
public Pages(int totalRecord,int pageNum) {
setTotalRecord(totalRecord);
this.pageNum = pageNum;//根据条件改变每页显示条数
}
public Pages(int totalRecord,int pageNum ,int currPage) {
setTotalRecord(totalRecord);
this.pageNum = pageNum;//根据条件改变每页显示条数
this.currPage = currPage;//取得当前页
}
/**
* 计算总页数
* @return
*/
public void countPages(){
totalPages = (int) Math.ceil(totalRecord/(double)pageNum);
if (this.currPage < 1) this.currPage = 1;
else if(this.currPage > this.totalPages) this.currPage = this.totalPages;
firstRecord = (currPage - 1) * this.pageNum;
}
public int getTotalPages() {
return totalPages;
}
public void setTotalPages(int totalPages) {
this.totalPages = totalPages;
}
public int getCurrPage() {
return currPage;
}
public void setCurrPage(int currPage) {
this.currPage = currPage;
}
public int getPageNum() {
return pageNum;
}
public void setPageNum(int pageNum) {
this.pageNum = pageNum;
}
public int getTotalRecord() {
return totalRecord;
}
public void setTotalRecord(int totalRecord) {
this.totalRecord = totalRecord;
countPages();
}
public List getDataList() {
return dataList;
}
public void setDataList(List dataList) {
this.dataList = dataList;
}
public int getFirstRecord() {
return firstRecord;
}
public void setFirstRecord(int firstRecord) {
this.firstRecord = firstRecord;
}
public int getListStep() {
return listStep;
}
public void setListStep(int listStep) {
this.listStep = listStep;
}
/**
* 取得从第几页开始显示分页的信息
* @return
*/
public int getListBegin() {
listBegin = (currPage - (int)Math.ceil((double)listStep /2));
if (listBegin < 1){
listBegin = 1;
}
return listBegin;
}
public void setListBegin(int listBegin) {
this.listBegin = listBegin;
}
/**
* 取得分页信息显示到第几页
* @return
*/
public int getListEnd() {
listEnd = currPage + listStep /2;
if (listEnd > totalPages){
listEnd = totalPages + 1;
}
return listEnd;
}
public void setListEnd(int listEnd) {
this.listEnd = listEnd;
}
/**
* 普通方式得到页脚
* @return
*/
public String getCommPageBar(){
StringBuffer sb = new StringBuffer();
int prev = currPage - 1;//当前页减一即上一页
int next = currPage + 1;//当前页加一即下一页
if (prev > 0){
sb.append("<a href=\"?pages.currPage=1&pages.totalRecord="+totalRecord+"\">首页</a>");//?表示显示当前页面
sb.append("<a href=\"?pages.currPage="+prev+"&pages.totalRecord="+totalRecord+"\">上一页</a>");
}
//数字分页显示
if (totalPages < currPage){
currPage = totalPages; //如果分页变量大于总页数,则将分页变量设计为总页数
}
if (currPage < 1){
currPage = 1;//如果分页变量小于1,则将分页变量设为1
}
for(int i = this.getListBegin();i < this.getListEnd() ;i++){
if (i != currPage){
sb.append("<a href=\"?pages.currPage="+ i+"&pages.totalRecord="+totalRecord+"\">["+ i+"]</a>");
}else{
sb.append("<span style='font-weight:bold;color:#CC0099;'>" + i +"</span>");
}
}
if (next <= totalPages){
sb.append("<a href=\"?pages.currPage="+next+"&pages.totalRecord="+totalRecord+"\">下一页</a>");
sb.append("<a href=\"?pages.currPage="+totalPages+"&pages.totalRecord="+totalRecord+"\">尾页</a>");
}
System.out.println("getCommPageBar = " + "pages.currPage="+currPage+"&pages.totalRecord="+totalRecord+"");
return sb.toString();
}
/**
* ajax方式获得页脚
* @return
*/
public String getPageBar(){
StringBuffer sb = new StringBuffer();
int prev = currPage - 1;//当前页减一即上一页
int next = currPage + 1;//当前页加一即下一页
if (prev > 0){
sb.append("<a href=\"javascript:go('pages.currPage=1&pages.totalRecord="+totalRecord+"');\">首页</a>");//?表示显示当前页面
sb.append("<a href=\"javascript:go('pages.currPage="+prev+"&pages.totalRecord="+totalRecord+"');\"> << </a>");
}
//数字分页显示
if (totalPages < currPage){
currPage = totalPages;
}
if (currPage < 1){
currPage = 1;
}
for (int i = this.getListBegin();i < this.getListEnd();i++){
if (i != currPage){
sb.append("<a href=\"javascript:go('pages.currPage="+ i+"&pages.totalRecord="+totalRecord+"');\">["+ i +"]</a>");
}else{
sb.append("<span style='font-weight:bold;color:#CC0099;'>" + i +"</span>");
}
}
if (next <= totalPages){
sb.append("<a href=\"javascript:go('pages.currPage="+next+"&pages.totalRecord="+totalRecord+"');\"> >> </a>");
sb.append("<a href=\"javascript:go('pages.currPage="+totalPages+"&pages.totalRecord="+totalRecord+"');\">尾页</a>");
}
System.out.println("getPageBar = " + "pages.currPage="+currPage+"&pages.totalRecord="+totalRecord);
return sb.toString();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -