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

📄 pagenumber.java

📁 JSP+JavaBean的分页组件。主要利用JAVABEAN+JSP+SERVLET实现
💻 JAVA
字号:
/*
 * PageNumber.java
 *
 * Created on 2006年10月9日, 上午8:21
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package page;
import java.io.*;
import java.sql.*;
import java.lang.String;
/**
 *只需传进三个参数,一个是每页显示记录集数,一个是记录集,一个是URL
 *取得分页效果只需调用一个getPage即可
 * @mc1035
 */
public class PageNumber {
    private int rowCount=1,   //总的记录数。
            pageSize=1,  //每页显示的记录数。
            showPage=1,  //设置欲显示的页码数。
            pageCount=1; //分页之后的总页数。

    private ResultSet rs;
    private String url;
    private StringBuffer page=new StringBuffer();
    private String formValue="-1";
    
    /*
     *设置记录集
     */
    public void setRs(ResultSet a){
        rs=a;
        try {
            rs.last(); //获取最后一行的行号:
            rowCount=rs.getRow();//获取
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
        
    }
    public ResultSet getRs(){
        return rs;
    }
    /*
     *设置url
     */
    public void setUrl(String a){
        url=a;
    }
    public String getUrl(){
        return url;
    }
    /*
     *设置总记录数
     */
    public void setRowCount(int n) {
        rowCount=n;
    }
    public int getRowCount() {
        return rowCount;
    }
    
    /*
     *设置总的页数
     */
    public void setPageCount() {
        
        int n=(rowCount%pageSize)==0?(rowCount/pageSize):(rowCount/pageSize+1) ;
        pageCount=n;
    }
    public int getPageCount() {
        return pageCount;
    }
    /*
     *设置显示第几页
     */
    public void setShowPage(int n) {
        showPage=n;
    }
    public int getShowPage() {
        return showPage;
    }
    /*
     *每页显示的记录数
     */
    public void setPageSize(int n) {
        pageSize=n;
        
    }
    public int getPageSize() {
        return pageSize;
    }
    /*
     *设置表单值
     */
    public void setFormValue(String a){
        formValue=a;
    }
    public String getFormValue(){
        return formValue;
    }
    public void setForm(){
        
        page.append("共有"+getRowCount()+"条记录 ");
        page.append("  "+getPageCount()+"页 ");
        page.append(" 当前为第"+getShowPage()+"页 ");
        page.append("每页显示"+getPageSize()+"条记录");
        
        if(getShowPage()!=1){
            page.append("<Form action=\""+url+"\" method=\"post\">");
            page.append("<Input Type=\"hidden\" name=\"formValue\" value=\"1\">");
            page.append("<Input name=\"submit4\" type=\"submit\" value=\"首页\">");
            page.append("</FORM>");
        }else{
            page.append("&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp");
        }
        if(getShowPage()!=getPageCount()){
            page.append("<Form action=\""+url+"\" method=\"post\">");
            page.append("<Input Type=\"hidden\" name=\"formValue\" value=\""+(getShowPage()+1)+"\">");
           page.append("<Input name=\"submit4\" type=\"submit\" value=\"下一页\">");
            page.append("</FORM>");
        }else{
        page.append("&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp");
        }
        if(getShowPage()!=1){
            page.append("<Form action=\""+url+"\" method=\"post\">");
            page.append("<Input Type=\"hidden\" name=\"formValue\" value=\""+(getShowPage()-1)+"\">");
           
           page.append("<Input name=\"submit4\" type=\"submit\" value=\"上一页\">");
            page.append("</FORM>");
        }else{
            page.append("&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp");
        }
        if(getShowPage()!=getPageCount()){
            page.append("<Form action=\""+url+"\" method=\"post\">");
            page.append("<Input Type=\"hidden\" name=\"formValue\" value=\""+getPageCount()+"\">");
            
           page.append("<Input name=\"submit4\" type=\"submit\" value=\"末页\">");
            page.append("</FORM>");
        }else{
            page.append("&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp");
        }
        
        page.append("<Form action=\""+url+"\" method=\"post\">");
        page.append("输入欲要显示的页<Input Type=\"text\" name=\"formValue\" size=\"5\" value=\""+getShowPage()+"\">");
       
        page.append("<Input name=\"submit4\" type=\"submit\" value=\"GO\">");
        page.append("</FORM>");
        
        
    }
    public void showList(){
        try{
            page.append("<Table>");
            page.append("<TR>");
            ResultSetMetaData statName= rs.getMetaData();
            
            for(int i=1;i<=statName.getColumnCount();i++){
                page.append("<TH>"+statName.getColumnName(i));
            }
            page.append("</TR>");
            
            for(int i=1;i<=getPageSize();i++) {
                page.append("<TR>");
                for(int j=1;j<=statName.getColumnCount();j++){
                    page.append("<TD>"+rs.getString(j)+"</TD>");
                }
                page.append("</TR>") ;
                if(!rs.next()){
                    break;
                }
            }
            page.append("</Table>");
            setForm();
            
        }catch(Exception e){
            e.printStackTrace();
            page.append(e);
        }
    }
    public String getPage(){
        setPageCount();
        try{
            int n=1;
            if(formValue.equals("-1")){
                formValue="1";
                setShowPage(1);
                rs.absolute((n-1)*getPageSize()+1);
                
            }else {
                try{
                    n=Integer.parseInt(formValue);
                    if(n>getPageCount()) {
                        n=getPageCount();
                    }
                    if(n<=0) {
                        n=1;
                    }
                    setShowPage(n);
                    rs.absolute((n-1)*getPageSize()+1);
                    
                } catch(NumberFormatException e){
                    e.printStackTrace();
                    n=getShowPage();
                    rs.absolute((n-1)*getPageSize()+1);
                }
            }
        } catch(SQLException ex){
            ex.printStackTrace();
        }
        showList();
        
        
        String a=new String(page);
        return a;
    }
    
    
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -