⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pagination.java

📁 一个webwork+spring+ibatis的小例子
💻 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 + -