一个通用的JSP分页程序

转载 2006年05月18日 21:17:00
 

//本程序使用了一个类反射的类,可以自动将查询出来的值填充到值对象里。
//这个类可以参见ibm的文章:使用类反射机制简化struts的开发.

package com.lyjWeb.wyhn.common;


import java.sql.*;
import com.lyjWeb.common.*;
import java.util.*;

public class Fenye {
 
 private Connection con=null;
 private String sql="";
 private String page="1";// 当前页 
 private int i_page=1;//当前页
 private int i_page_count=10;//每页显示条数
 private String nextpage,prepage,sumpage,sumcount;
 
 private String sql_select,sql_from,sql_where,sql_order;
 private String sql_pre="";
 private String sql_count=""; //count(*)语句
 private ResultSet rst=null;
 private PreparedStatement stm=null;
 
 private Collection result_c=null;
 
 private String s_null="无";
 
///////////////////////////输入值///////////////////////////////
 public void setConnection(Connection con)
 {
  this.con=con;
 }

 public void setSql(String sql_select,String sql_from,String sql_where,String sql_order)
 {
  //this.sql=sql;
  this.sql_select=sql_select;
  this.sql_from=sql_from;
  this.sql_where=sql_where;
  this.sql_order=sql_order;
  this.sql_count="select count(*) " + sql_from + " " + sql_where;
  this.sql=sql_select + " " + sql_from + " " + sql_where + " " + sql_order;
 }
 
 public void setStm(PreparedStatement stm)
 {
  this.stm=stm;
 }
 
 public void setPage(String p)
 {
  if(p==null)
  {
   this.page="1";
    this.i_page=1;
  }
  else
  {
   p=p.trim();
   if(p.equals("")) p="1";
   this.page=p;
   this.i_page=Integer.parseInt(this.page);  
  }
  
 }
 
 public void setPageCount(int pcount)
 {
  this.i_page_count=pcount;
 }

 public void setSqlPre(String sqlpre)
 {
  this.sql_pre=sqlpre; 
 }

 public void setS_null(String s_null)
 {
  this.s_null=s_null;
 }
//////////////////////////////////////返回值/////////////////////////////////////////// 
 public ResultSet getRst()
 {
  return rst;
 }
 
 public String getPage()
 {
  return page;
 }

 public String getNextPage()
 {
  return nextpage;
 }
 
 public String getPrePage()
 {
  return prepage;
 }
 
 public String getSumPage()
 {
  return sumpage;
 }
 
 public String getCount()
 {
  return sumcount;
 }
 
 public Collection getCollection()
 {
  return result_c;
 }
 
////////////////////////////////////////操  作///////////////////////////////////////////////
 private String b_string,f_string;
 private String comsql;
 
 private void CountPage() throws Exception
 {
  //try{
   PreparedStatement stm1=con.prepareStatement(sql_count);
   ResultSet rst_count=stm1.executeQuery();
   rst_count.next();
   int i_sum=rst_count.getInt(1);
   
   rst_count.close();
   rst_count=null;
   stm1.close();
   stm1=null;

   
   this.sumcount=String.valueOf(i_sum);
   
   int page_all=0;
   if (i_sum % i_page_count==0)
   {
    page_all=i_sum / i_page_count;
   }
   else{
    page_all=i_sum / i_page_count+1;
   }
   
   sumpage=String.valueOf(page_all);
   
   if(i_page>page_all)
   {
    i_page=page_all;
    page=String.valueOf(i_page);
   }else if(i_page<1)
   {
    i_page=1;
    page=String.valueOf(i_page);
   }
   
   if(i_page==page_all)
    nextpage=String.valueOf(i_page) ;
   else
    nextpage=String.valueOf(i_page+1) ;
         
   if(i_page==1)
    prepage="1";
   else
    prepage=String.valueOf(i_page-1);
   
   
   int f_number=i_page * i_page_count;
   int b_number=f_number-i_page_count+1;
   b_string=String.valueOf(b_number);
   f_string=String.valueOf(f_number);      
   
  //}catch(Exception e)
  //{
  // System.out.println("Error in fenye:" + e.toString());
  //}  
 }
 
 private void ComSql()
 {
  
  comsql= " from (select rownum row_id ,ttttt2.* from( " + sql + " ) ttttt2 ) where row_id between " + b_string + " and " + f_string;
  
  if(sql_pre.equals(""))
   comsql=sql_select + comsql;
  else
   comsql=sql_pre+comsql;
  //return comsql;  
 }
 private void SearchData() throws Exception
 {
  String s=comsql;
  stm=con.prepareStatement(s);
  rst=stm.executeQuery(); 
 }
 
 public int DoFenye()
 {
  try{
   this.CountPage();
   this.ComSql();
   this.SearchData();
   return 1;
  }catch(Exception e)
  {
   System.out.println("Error in fenye:" + e.toString()); 
   return 0;   
  }
 }
 
 public int DoFenyeCollection(String thedao)
 {
  try{
   System.out.println(sql_count);
   this.CountPage();
   
   this.ComSql();
   System.out.println(comsql);
   result_c=Tool.Select(comsql,thedao,con,s_null);
   return 1;
  }catch(Exception e)
  {
   System.out.println("Error in fenye:" + e.toString()); 
   return 0;   
  }
 }
}


JSP通用分页组件 pager-taglib使用

通用使用代码:      在需要分页的JSP文件加入如下关于pager-taglib的代码               >           首页 ...
  • u010395804
  • u010395804
  • 2014年05月29日 17:41
  • 979

适用于Jsp的通用分页程序(示例代码)

package ht.util;import java.util.*;/** * Title: 通用分页程序 * * Description:  * * Copyright: Copyright (c...
  • wyt1209
  • wyt1209
  • 2008年09月21日 12:41
  • 2308

一个通用的JSP分页程序

//本程序使用了一个类反射的类,可以自动将查询出来的值填充到值对象里。//这个类可以参见ibm的文章:使用类反射机制简化struts的开发.package com.lyjWeb.wyhn.common...
  • hps9743003
  • hps9743003
  • 2004年11月27日 10:29
  • 1134

JSP通用分页程序(测试版)

最终效果图:1.分页类:----------------------------------------------------------------------------------------...
  • Kinb_huangwei
  • Kinb_huangwei
  • 2007年10月12日 13:00
  • 671

jsp分页程序

    //变量声明     Connection sqlCon; //数据库连接对象     Statement sqlStmt; //SQL语句对象     ResultSet sqlRst...
  • junli0310
  • junli0310
  • 2007年06月28日 09:24
  • 519

JavaScript的通用分页程序

"text/JavaScript">    function multi(num, PerPage, CurrPage, mpurl) {    /**********参数说明*********   ...
  • MaWenWu281107072139
  • MaWenWu281107072139
  • 2010年04月02日 10:56
  • 487

JSP分页程序

 JSP分页程序                                           ---摘自书本实例package com.zh.util;import com.zh.conpoo...
  • timespirit
  • timespirit
  • 2006年08月02日 21:28
  • 614

CachedRowSetImpl 实现分页

我用的是MVC CachedRowSetImpl实现分页 但是这个类只能接受ResultSet 我到查找到东西无法用ResultSet返回给servlect 中 有没有牛人给个分页的实现 框架是MVC...
  • u012187684
  • u012187684
  • 2013年09月20日 17:51
  • 759

分页程序

  分页程序package text;import java.sql.Connection;import java.sql.ResultSet;import java.sql.ResultSetMet...
  • aptweasel
  • aptweasel
  • 2006年09月11日 01:29
  • 863

jsp + mysql 的分页程序

 Connection sqlCon; //数据库连接对象  Statement sqlStmt; //SQL语句对象  ResultSet sqlRst; //结果集对象  String strCo...
  • scs2000
  • scs2000
  • 2006年10月08日 14:17
  • 880
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一个通用的JSP分页程序
举报原因:
原因补充:

(最多只允许输入30个字)