📄 pagination.java
字号:
/*
* Created on 2004-11-18
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package org.sanv.framework.component;
import org.sanv.rbac.model.UserSessionModel;
/**
* @author Administrator
*
* TODO To change the template for this generated type comment go to Window -
* Preferences - Java - Code Style - Code Templates
*/
public class Pagination
{
private int intCurrPage = 0; //当前页
private int intTotalNum = 0; //总记录数
private int intLineNum = 0; //每页记录数
private int intWhileNum = 0; //显示的连续页码数
private int[] aryIntWhileNum = new int[1]; //显示的连续页码
private int intFirstPage = 0; //第一页
private int intLastPage = 0; //最后一页
private int intPriPage = 0; //前一页
private int intNextPage = 0; //后一页
private int intPageLength = 0; //页码长度
private int intStartNum = 0; //当前页开始记录数
private UserSessionModel userSessionDM;
public void setUserSessionDM(UserSessionModel userSessionDM)
{
this.userSessionDM = userSessionDM;
}
/**
* @return Returns the intStartNum.
*/
public int getIntStartNum()
{
intCurrPage = getIntCurrPage();
intLineNum = getIntLineNum();
intStartNum = (intCurrPage - 1) * intLineNum;
return intStartNum > 0 ? intStartNum : 0;
}
/**
* @return Returns the aryIntWhileNum.
*/
public int[] getAryIntWhileNum()
{
intFirstPage = getIntFirstPage();
intLastPage = getIntLastPage();
intCurrPage = getIntCurrPage();
intWhileNum = getIntWhileNum();
if (intLastPage != 0)
{
int intFirWhileNum = 0;
int intLastWhileNum = 0;
int intHalfNum = Math.round(intWhileNum / 2);
if (intWhileNum % 2 == 0)
intHalfNum = intHalfNum - 1;
if (intCurrPage - intHalfNum <= intFirstPage)
{
intFirWhileNum = intFirstPage;
intLastWhileNum = intFirWhileNum + intWhileNum - 1;
if (intLastWhileNum > intLastPage)
intLastWhileNum = intLastPage;
}
else if (intCurrPage + intHalfNum >= intLastPage)
{
intLastWhileNum = intLastPage;
intFirWhileNum = intLastWhileNum - intWhileNum + 1;
if (intFirWhileNum < intFirstPage)
intFirWhileNum = intFirstPage;
}
else
{
intFirWhileNum = intCurrPage - intHalfNum;
intLastWhileNum = intFirWhileNum + intWhileNum - 1;
if (intLastWhileNum > intLastPage)
intLastWhileNum = intLastPage;
}
aryIntWhileNum = new int[intLastWhileNum - intFirWhileNum + 1];
for (int i = 0; i < aryIntWhileNum.length; i++)
{
aryIntWhileNum[i] = i + intFirWhileNum;
}
}
return aryIntWhileNum;
}
/**
* @return Returns the intCurrPage.
*/
public int getIntCurrPage()
{
intFirstPage = getIntFirstPage();
intLastPage = getIntLastPage();
if (intLastPage > 0)
{
if (intCurrPage < intFirstPage)
intCurrPage = intFirstPage;
else if (intCurrPage > intLastPage)
intCurrPage = intLastPage;
}
return intCurrPage;
}
/**
* @param intCurrPage
* The intCurrPage to set.
*/
public void setIntCurrPage(int intCurrPage)
{
this.intCurrPage = intCurrPage;
}
/**
* @return Returns the intFirstPage.
*/
public int getIntFirstPage()
{
intFirstPage = 1;
return intFirstPage;
}
/**
* @return Returns the intLastPage.
*/
public int getIntLastPage()
{
intTotalNum = getIntTotalNum();
intLineNum = getIntLineNum();
if (intTotalNum != 0)
{
if(intTotalNum%intLineNum==0)
return Math.round(intTotalNum / intLineNum);
else
return Math.round(intTotalNum / intLineNum) + 1;
}
else
return 0;
}
/**
* @return Returns the intLineNum.
*/
public int getIntLineNum()
{
if(userSessionDM!=null)
{
intLineNum = userSessionDM.getIntLineNum();
}
if (intLineNum <= 0)
intLineNum = 15; //默认每页显示记录为15条
else if (intLineNum > 1000)
intLineNum = 15; //每页显示记录数限定在[1,1000]
return intLineNum;
}
/**
* @param intLineNum
* The intLineNum to set.
*/
public void setIntLineNum(int intLineNum)
{
this.intLineNum = intLineNum;
}
/**
* @return Returns the intNextPage.
*/
public int getIntNextPage()
{
intCurrPage = getIntCurrPage();
intLastPage = getIntLastPage();
if (intCurrPage + 1 > intLastPage)
{
return intLastPage;
}
else
return intCurrPage + 1;
}
/**
* @return Returns the intPriPage.
*/
public int getIntPriPage()
{
intCurrPage = getIntCurrPage();
intFirstPage = getIntFirstPage();
if (intCurrPage - 1 < intFirstPage)
{
return intFirstPage;
}
else
return intCurrPage - 1;
}
/**
* @return Returns the intTotalNum.
*/
public int getIntTotalNum()
{
if (intTotalNum < 0)
intTotalNum = 0;
return intTotalNum;
}
/**
* @param intTotalNum
* The intTotalNum to set.
*/
public void setIntTotalNum(int intTotalNum)
{
this.intTotalNum = intTotalNum;
}
/**
* @return Returns the intWhileNum.
*/
public int getIntWhileNum()
{
if (intWhileNum <= 0)
intWhileNum = 10; //默认显示的连续页码数为10
else if (intWhileNum > 100)
intWhileNum = 10; //连续页码数限定在[1,100]
return intWhileNum;
}
/**
* @param intWhileNum
* The intWhileNum to set.
*/
public void setIntWhileNum(int intWhileNum)
{
this.intWhileNum = intWhileNum;
}
public int getIntPageLength()
{
intLastPage = getIntLastPage();
intPageLength = (new Integer(intLastPage)).toString().length();
return intPageLength;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -