Page.java

package com.wolf.pub;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 *
 * @author wolf
 */
//<bean:write name="page" property="pagecount"/>页 分页:<bean:write name="page" property="pageString" filter="false"/>
public class Page extends BaseDao{
 private BaseDao dao=null;
    private int pagecount=0;//总页数
    private int pagenum=0;//当前篇数
    private int nowpage=0;//篇(10页为一篇)
    private int rownum=10;//每页行数
    private int pageno=1;//当前页
    private int rows=0;//总行数
    private StringBuffer pageString=null;
    public Page(){
    }
    /**
     *设置网面中的显示效果
     *
     */
    public void setPageString(String urlval){
        try{
            if(rows%rownum==0){
                setPagecount(rows/rownum);
            } else{
                setPagecount(rows/rownum+1);
            }
            if(pageno<=0){
                pageno=1;
            } else if(pageno>pagecount){
                pageno=pagecount;
            }
            if(pageno%10==0){
                nowpage=pageno/10;
            } else{
                nowpage=pageno/10+1;
            }
            if(pagecount%10==0){
                pagenum=pagecount/10;
            } else{
                pagenum=pagecount/10+1;
            }
            pageString=new StringBuffer();
            pageString.append("你所查看的信息共");
            pageString.append(rows);
            pageString.append("条记录,");
            pageString.append("共");
            pageString.append(pagecount);
            pageString.append("页");
            if(pagenum==1){
                pageString.append("<FONT face='webdings'>9</FONT>&nbsp;");
                int i=1;
                while(i<=pagecount){
                    if(i==pageno){
                        pageString.append("<a style='COLOR: red; LINE-HEIGHT: 16px; FONT-FAMILY:Verdana'>");
                        pageString.append(i);
                        pageString.append("</a>&nbsp;");
                    } else{
                        pageString.append("<a href='?pageno=");
                        pageString.append(i);
                        pageString.append("&");
                        pageString.append(urlval);
                        pageString.append("'>");
                        pageString.append(i);
                        pageString.append("</a>&nbsp;");
                    }
                    i++;
                }
                pageString.append("<FONT face='webdings'>:</FONT>");
            } else if(pagenum>1){
                if(nowpage==1){
                    pageString.append("<FONT face='webdings'>9</FONT><FONT face='webdings'>7</FONT>&nbsp;");
                    int i=(nowpage-1)*10+1;
                    while(i<=nowpage*10){
                        if(i==pageno){
                            pageString.append("<a style='COLOR: red; LINE-HEIGHT: 16px; FONT-FAMILY:Verdana'>");
                            pageString.append(i);
                            pageString.append("</a>&nbsp;");
                        } else{
                            pageString.append("<a href='?pageno=");
                            pageString.append(i);
                            pageString.append("&");
                            pageString.append(urlval);
                            pageString.append("'>");
                            pageString.append(i);
                            pageString.append("</a>&nbsp;");
                        }
                        i++;
                    }
                    pageString.append("<a href='?pageno=11&");
                    pageString.append(urlval);
                    pageString.append("' title='下十页'><FONT face='webdings'>8</FONT></a><a href='?pageno=");
                    pageString.append(pagecount);
                    pageString.append("&");
                    pageString.append(urlval);
                    pageString.append("' title='尾页'><FONT face='webdings'>:</FONT></a>");
                } else if(nowpage>1 && nowpage<pagenum){
                    pageString.append("<a href='?pageno=1&");
                    pageString.append(urlval);
                    pageString.append("' title='首页'><FONT face='webdings'>9</FONT></a><a href='?pageno=");
                    pageString.append(((nowpage-1)*10));
                    pageString.append("&");
                    pageString.append(urlval);
                    pageString.append("' title='上十页'><FONT face='webdings'>7</FONT></a>&nbsp;");
                    int i=(nowpage-1)*10+1;
                    while(i<=nowpage*10){
                        if(i==pageno){
                            pageString.append("<a style='COLOR: red; LINE-HEIGHT: 16px; FONT-FAMILY:Verdana'>");
                            pageString.append(i);
                            pageString.append("</a>&nbsp;");
                        } else{
                            pageString.append("<a href='?pageno=");
                            pageString.append(i);
                            pageString.append("&");
                            pageString.append(urlval);
                            pageString.append("'>");
                            pageString.append(i);
                            pageString.append("</a>&nbsp;");
                        }
                        i++;
                    }
                    pageString.append("<a href='?pageno=");
                    pageString.append(nowpage*10+1);
                    pageString.append("&");
                    pageString.append(urlval);
                    pageString.append("' title='下十页'><FONT face='webdings'>8</FONT></a><a href='?pageno=");
                    pageString.append(pagecount);
                    pageString.append("&");
                    pageString.append(urlval);
                    pageString.append("' title='尾页'><FONT face='webdings'>:</FONT></a>");
                } else if(nowpage>=pagenum){
                    pageString.append("<a href='?pageno=1&");
                    pageString.append(urlval);
                    pageString.append("' title='首页'><FONT face='webdings'>9</FONT></a><a href='?pageno=");
                    pageString.append(((nowpage-1)*10));
                    pageString.append("&");
                    pageString.append(urlval);
                    pageString.append("' title='上十页'><FONT face='webdings'>7</FONT></a>&nbsp;");
                    int i=(nowpage-1)*10+1;
                    while(i<=pagecount){
                        if(i==pageno){
                            pageString.append("<a style='COLOR: red; LINE-HEIGHT: 16px; FONT-FAMILY:Verdana'>");
                            pageString.append(i);
                            pageString.append("</a>&nbsp;");
                        } else{
                            pageString.append("<a href='?pageno=");
                            pageString.append(i);
                            pageString.append("&");
                            pageString.append(urlval);
                            pageString.append("'>");
                            pageString.append(i);
                            pageString.append("</a>&nbsp;");
                        }
                        i++;
                    }
                    pageString.append("<FONT face='webdings'>8</FONT><FONT face='webdings'>:</FONT>");
                }
            }
        } catch(Exception e){
            System.out.println(e.toString());
        }
    }
    public void setPageString2(String formname){
        try{
            if(rows%rownum==0){
                setPagecount(rows/rownum);
            } else{
                setPagecount(rows/rownum+1);
            }
            if(pageno<=0){
                pageno=1;
            } else if(pageno>pagecount){
                pageno=pagecount;
            }
            if(pageno%10==0){
                nowpage=pageno/10;
            } else{
                nowpage=pageno/10+1;
            }
            if(pagecount%10==0){
                pagenum=pagecount/10;
            } else{
                pagenum=pagecount/10+1;
            }
            pageString=new StringBuffer();
            if(pagenum==1){
                pageString.append("<FONT face='webdings'>9</FONT>&nbsp;");
                int i=1;
                while(i<=pagecount){
                    if(i==pageno){
                        pageString.append("<a style='COLOR: red; LINE-HEIGHT: 16px; FONT-FAMILY:Verdana'>");
                        pageString.append(i);
                        pageString.append("</a>&nbsp;");
                    } else{
                        pageString.append("<a href='javascript:setPageno(");
                        pageString.append(i);
                        pageString.append(")'>");
                        pageString.append(i);
                        pageString.append("</a>&nbsp;");
                    }
                    i++;
                }
                pageString.append("<FONT face='webdings'>:</FONT>");
            } else if(pagenum>1){
                if(nowpage==1){
                    pageString.append("<FONT face='webdings'>9</FONT><FONT face='webdings'>7</FONT>&nbsp;");
                    int i=(nowpage-1)*10+1;
                    while(i<=nowpage*10){
                        if(i==pageno){
                            pageString.append("<a style='COLOR: red; LINE-HEIGHT: 16px; FONT-FAMILY:Verdana'>");
                            pageString.append(i);
                            pageString.append("</a>&nbsp;");
                        } else{
                            pageString.append("<a href='javascript:setPageno(");
                            pageString.append(i);
                            pageString.append(")'>");
                            pageString.append(i);
                            pageString.append("</a>&nbsp;");
                        }
                        i++;
                    }
                    pageString.append("<a href='javascript:setPageno(11)' title='下十页'><FONT face='webdings'>8</FONT></a><a href='javascript:setPageno(");
                    pageString.append(pagecount);
                    pageString.append(")' title='尾页'><FONT face='webdings'>:</FONT></a>");
                } else if(nowpage>1 && nowpage<pagenum){
                    pageString.append("<a href='javascript:setPageno(1)' title='首页'><FONT face='webdings'>9</FONT></a><a href='javascript:setPageno(");
                    pageString.append(((nowpage-1)*10));
                    pageString.append(")' title='上十页'><FONT face='webdings'>7</FONT></a>&nbsp;");
                    int i=(nowpage-1)*10+1;
                    while(i<=nowpage*10){
                        if(i==pageno){
                            pageString.append("<a style='COLOR: red; LINE-HEIGHT: 16px; FONT-FAMILY:Verdana'>");
                            pageString.append(i);
                            pageString.append("</a>&nbsp;");
                        } else{
                            pageString.append("<a href='javascript:setPageno(");
                            pageString.append(i);
                            pageString.append(")'>");
                            pageString.append(i);
                            pageString.append("</a>&nbsp;");
                        }
                        i++;
                    }
                    pageString.append("<a href='javascript:setPageno(");
                    pageString.append((nowpage*10+1));
                    pageString.append(")' title='下十页'><FONT face='webdings'>8</FONT></a><a href='javascript:setPageno(");
                    pageString.append(pagecount);
                    pageString.append(")' title='尾页'><FONT face='webdings'>:</FONT></a>");
                } else if(nowpage>=pagenum){
                    pageString.append("<a href='javascript:setPageno(1)' title='首页'><FONT face='webdings'>9</FONT></a><a href='javascript:setPageno(");
                    pageString.append(((nowpage-1)*10));
                    pageString.append(")' title='上十页'><FONT face='webdings'>7</FONT></a>&nbsp;");
                    int i=(nowpage-1)*10+1;
                    while(i<=pagecount){
                        if(i==pageno){
                            pageString.append("<a style='COLOR: red; LINE-HEIGHT: 16px; FONT-FAMILY:Verdana'>");
                            pageString.append(i);
                            pageString.append("</a>&nbsp;");
                        } else{
                            pageString.append("<a href='javascript:setPageno(");
                            pageString.append(i);
                            pageString.append(")'>");
                            pageString.append(i);
                            pageString.append("</a>&nbsp;");
                        }
                        i++;
                    }
                    pageString.append("<FONT face='webdings'>8</FONT><FONT face='webdings'>:</FONT>");
                }
            }
             pageString.append("<script language='JavaScript'>function setPageno(pageno){");
             pageString.append(formname);
             pageString.append(".pageno.value=pageno;");
             pageString.append(formname);
             pageString.append(".submit();");
             pageString.append("}</script>");
        } catch(Exception e){
            System.out.println(e.toString());
        }

    }
    public String getPageString(){
        return pageString.toString();
    }
    public void setPagecount(int pagecount){
        this.pagecount=pagecount;
    }
    public int getPagecount(){
        return pagecount;
    }
    public String getPageSql(String sql){//pageno为新页
        try {
            if(pageno>pagecount){
                pageno=1;
            }
            String newsql="select * from (select rownum r_id,t.*  from ("+sql+
                    ") t where rownum <= " + (pageno*rownum) + ") where r_id >" +((pageno-1)*rownum);
            return newsql;
        } catch(Exception e){System.out.println("tttttttttt"+e.toString());
        return "";}
    }
    public String toChinese(String str){
        try{
            if(str==null){
                return "";
            } else{
                str=new String(str.getBytes("ISO8859_1"),"GB2312");
                return str;
            }
        } catch(Exception e){
            System.out.println("rrrrrrrrrrrrrrrrrrrr"+e.toString());
            return "";
        }
    }
    public void setRows(String asql){
        this.rows=getrows(asql);
    }
    public int getRows(){
        return rows;
    }
    public void setRownum(int rownum){
        this.rownum=rownum;
    }
    public int getRownum(){
        return rownum;
    }
    public void setPageno(int pageno){
        this.pageno=pageno;
    }
    public int getPageno(){
        return pageno;
    }
    public int getrows(String asql)
    {
            try{
               PreparedStatement pstc=conn.prepareStatement(asql);
               ResultSet rsc=pstc.executeQuery();
               if (rsc.next()){
                   return rsc.getInt(1);
               }else{
                   return 0;
               }
            }catch(SQLException sqle){
                sqle.printStackTrace();
                 return 0;

            }catch(Exception e){
                e.printStackTrace();
                return 0;
            }
        }
   
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值