分页组件

package com.tarena.dxjf.util.page;

import java.io.Serializable;

public class Page implements Serializable {

    /**
     * 页面大小
     * 
     */
    public int pageSize=4;

    /**
     * 
     * 当前页数
     */
    private int currentPage=1;

    /**
     * 总条数
     * 
     */
    private int totalItems;

    /**
     * 总页数
     * 
     */
    private int totalPages;

    /**
     * 起始条数
     * 
     */
    private int beginItem;
    
    /**
     * pageinfor页面信息
     *
     */
    private String pageInfor;
    
    
    
    public String getPageInfor() {
        //javascript代码
        String script ="<script type=\"text/javascript\"> " +
                "function subPage(pageNo){" +
                "document.pageForm.elements['page.currentPage'].value= pageNo;" +
                "document.pageForm.submit();" +
                "}</script>";    
//        String form = "<form  method='post' action='show!show' name='pageForm'>";
        //用一个隐藏域存储页码,后台接受的页码,并根据页码求出页面条数
        String hidden = "<input type='hidden' name='page.currentPage' value='1'/>";
        String pageinfor = script+ hidden;
        
        //底面样式 首页 上一页 下一页 尾页 
        if(this.getCurrentPage()!=1){
            pageinfor += "<a href=\"javascript:subPage(1)\">首页</a>|" +
                    "<a href=\"javascript:subPage("+(this.getCurrentPage()-1)+")\">上一页</a>|";
        }
        if(this.getCurrentPage()!=this.getTotalPages()){
            pageinfor +="<a href=\"javascript:subPage("+(this.getCurrentPage()+1)+")\">下一页</a>|" +
                    "<a href=\"javascript:subPage("+this.getTotalPages()+")\">尾页</a>";
        }
        //第几页 共几页
        pageinfor += "第"+this.getCurrentPage()+"页/共"+this.getTotalPages()+"页 ";
        
        //跳第几页
        pageinfor += "跳<select onchange=\"javascript:subPage(this.value)\">";
        for (int i = 1; i <= this.getTotalPages(); i++) {
            if(i==this.getCurrentPage()){
                pageinfor += "<option value="+i+" selected='selected'>"+i+"</option>";
            }else{
                pageinfor += "<option value="+i+">"+i+"</option>";
            }
        }
        pageinfor+="</select>页";
        
        return pageinfor;
    }

    public void setPageInfor(String pageInfor) {
        this.pageInfor = pageInfor;
    }

    public Page() {
    }
    
    public Page(int pageSize){
        this.pageSize = pageSize;
    }
    

    public int getBeginItem() {
        return (this.currentPage-1)*this.pageSize;
    }

    public void setBeginItem(int beginItem) {
        this.beginItem = beginItem;
    }

    public int getCurrentPage() {
        if(this.currentPage<1)
            this.currentPage=1;
        return currentPage;
    }

    public void setCurrentPage(int currentPage) {
        if(currentPage<1)
            this.currentPage=1;
        else this.currentPage = currentPage;
    }

    public int getPageSize() {
        return pageSize;
    }

    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }

    public int getTotalItems() {
        return totalItems;
    }

    public void setTotalItems(int totalItems) {
        this.totalItems = totalItems;
    }

    public int getTotalPages() {
        this.totalPages=this.totalItems/pageSize; 
        if(this.totalItems%pageSize!=0)
            this.totalPages++;
        return totalPages;
    }

    public void setTotalPages(int totalPages) {
        this.totalPages = totalPages;
    }

}
package com.tarena.dxjf.util.page;

import java.util.List;

public class PageBean {

    /**
     * 页面
     * 
     */
    private Page page;

    /**
     * 存储显示item的list
     * 
     */
    private List list;

    public PageBean(Page page, List list) {
        this.page = page;
        this.list = list;
    }

    public List getList() {
        return list;
    }

    public void setList(List list) {
        this.list = list;
    }

    public Page getPage() {
        return page;
    }

    public void setPage(Page page) {
        this.page = page;
    }

}

 

分页组建,借助于这两个类,然后在页面内可以直接通过调用pageBean 实体就可以得出分页显示的信息了。注意form的名字,和后天拼写的javascript中form的名字一致,另外分页显示可以根据自己的需要自己定制分页显示的效果。。。。

 

 

 

 

 

posted on 2012-11-15 20:55  NewPanderKing  阅读(234)  评论(0)    收藏  举报

导航