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> ");
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> ");
} else{
pageString.append("<a href='?pageno=");
pageString.append(i);
pageString.append("&");
pageString.append(urlval);
pageString.append("'>");
pageString.append(i);
pageString.append("</a> ");
}
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> ");
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> ");
} else{
pageString.append("<a href='?pageno=");
pageString.append(i);
pageString.append("&");
pageString.append(urlval);
pageString.append("'>");
pageString.append(i);
pageString.append("</a> ");
}
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> ");
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> ");
} else{
pageString.append("<a href='?pageno=");
pageString.append(i);
pageString.append("&");
pageString.append(urlval);
pageString.append("'>");
pageString.append(i);
pageString.append("</a> ");
}
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> ");
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> ");
} else{
pageString.append("<a href='?pageno=");
pageString.append(i);
pageString.append("&");
pageString.append(urlval);
pageString.append("'>");
pageString.append(i);
pageString.append("</a> ");
}
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> ");
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> ");
} else{
pageString.append("<a href='javascript:setPageno(");
pageString.append(i);
pageString.append(")'>");
pageString.append(i);
pageString.append("</a> ");
}
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> ");
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> ");
} else{
pageString.append("<a href='javascript:setPageno(");
pageString.append(i);
pageString.append(")'>");
pageString.append(i);
pageString.append("</a> ");
}
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> ");
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> ");
} else{
pageString.append("<a href='javascript:setPageno(");
pageString.append(i);
pageString.append(")'>");
pageString.append(i);
pageString.append("</a> ");
}
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> ");
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> ");
} else{
pageString.append("<a href='javascript:setPageno(");
pageString.append(i);
pageString.append(")'>");
pageString.append(i);
pageString.append("</a> ");
}
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;
}
}
}