欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java web 分页,javaweb,/** * */pac

来源: javaer 分享于  点击 20961 次 点评:234

java web 分页,javaweb,/** * */pac


/** *  */package com.luckystone.util;import java.util.List;/** *  * @author hh *  */public class PageHelper{    // 总共的数据量    private int total;    // 每页显示多少条    private int pageSize;    // 共有多少页    private int totalPage;    // 当前是第几页    private int index;    // 数据    private List<?> data;    // 连接路径    private String path = "";    /**     * 页码HTML信息     */    @SuppressWarnings("unused")    private String pageHTML;    private int startPage; // 开始页面    private int endPage; // 结束页面    private int displayNum = 5; // 显示的页数    /**     * @return the startPage     */    public int getStartPage()    {        return startPage;    }    /**     * @return the endPage     */    public int getEndPage()    {        return endPage;    }    /**     * @return the path     */    public String getPath()    {        return path;    }    public void setPageSize(int pageSize)    {        this.pageSize = pageSize;    }    public void setIndex(int index)    {        this.index = index;    }    /**     * 设置路径前缀,页面第一页index为1     *      * @param path     *            此path含有参数形式,如/aa/article?page=,或者/bb/article/list/     */    public void setPath(String path)    {        this.path = path;    }    public int getPageSize()    {        return pageSize;    }    public int getTotalPage()    {        return (this.total + this.pageSize - 1) / this.pageSize;    }    public int getIndex()    {        return index;    }    public List<?> getData()    {        return data;    }    public void setData(List<?> data)    {        this.data = data;    }    /**     * @return the total     */    public int getTotal()    {        return total;    }    /**     * @param total     *            the total to set     */    public void setTotal(int total)    {        this.total = total;    }    public String getPageHTML()    {        totalPage = getTotalPage();        StringBuffer displayInfo = new StringBuffer();        if (totalPage != 0 && pageSize != 0)        {            displayInfo.append("<div class='pager'>");            displayInfo.append("<span class='item nolink'>共<span class='num'>" + totalPage + "</span>页/<span class='num'>" + total + "</span>条记录</span>");            //displayInfo.append("<span class='item nolink'>/<span class='num'>" + total + "</span>条记录</span>");            // 判断如果当前是第一页 则“首页”和“第一页”失去链接            if (index <= 1)            {                displayInfo.append("<span class='item nolink'>首页</span>");                displayInfo.append("<span class='item nolink'>上一页</span>");            }            else            {                displayInfo.append("<span class='item'><a href='" + path + "1'>首页</a></span>");                displayInfo.append("<span class='item'><a href='" + path + (index - 1) + "'>上一页</a></span>");            }            countPages();            displayInfo.append("<span class='item nums'>");            for (int i = startPage; i <= endPage; i++)            {                if (i == index)                {                    displayInfo.append("<span class='nolink'>" + i + "</span>");                }                else                {                    displayInfo.append("<a href='" + path + i + "'>" + i + "</a>");                }            }            displayInfo.append("</span>");            if (index >= totalPage)            {                displayInfo.append("<span class='item nolink'>下一页</span>");                displayInfo.append("<span class='item nolink'>尾页</span>");            }            else            {                displayInfo.append("<span class='item'><a href='" + path + (index + 1) + "'>下一页</a></span>");                displayInfo.append("<span class='item'><a href='" + path + totalPage + "'>尾页</a></span>");            }            displayInfo.append("</div>");        }        return displayInfo.toString();    }    /**     * 计算起始页和结束页     */    public void countPages()    {        if (index - displayNum / 2 < 1)        {            startPage = 1;            endPage = displayNum > totalPage ? totalPage : displayNum;        }        else if (index + displayNum / 2 > totalPage)        {            int n = totalPage - displayNum + 1;            startPage = n > 0 ? n : 1;            endPage = totalPage;        }        else        {            startPage = index - displayNum / 2;            endPage = startPage + displayNum - 1;        }    }    /**     * @param pageHTML the pageHTML to set     */    public void setPageHTML(String pageHTML)    {        this.pageHTML = pageHTML;    }    public static void main(String[] args)    {        PageHelper p = new PageHelper();        // p.totalPage = p.getTotalPage();        p.setTotal(1002);        p.setPageSize(20);        p.setPath("/bb/article/list/");        // for (int i = -80; i < 80; i++)        // {        // p.setIndex(i);        // p.countPages();        // System.out.println(i+"----"+p.getStartPage() + "-----" +        // p.getEndPage());        // }        p.setIndex(33);        System.out.println(p.getPageHTML());    }}//该片段来自于http://byrx.net
相关栏目:

用户点评