JSP分页共设计了三个类:SplitPageVo 、PageVo、SqlVo
以上三个类请参考本博客的
JSP分页类一:SplitPageVo        JSP分页类二:SqlVo           JSP分页类三:PageVo
三篇文章
核心为一条SQL语句:
SELECT * FROM              
              (SELECT TOP 每页显示条数 * FROM
                      (SELECT TOP 每页显示数量x当前页 * FROM 表名)    表变量1
                              ORDER BY 排序字段 DESC)    表变量2
                                          ORDER BY   排序字段
如:
SELECT * FROM
               (SELECT TOP 10 * FROM
                            (SELECT TOP 3x10 * FROM shop) x
                                      ORDER BY id DESC) y
                                                     ORDER BY id
使用简要说明:
//********************************************使~~~~用~~~~说~~~~明*****************************************
/**
...............................................................
在SERVELET里:
第一步:获取当前页码
if(request.getParameter("page")!=null){
     page=Integer.parseInt(request.getParameter("page"));
     }else{
     page=1 ;
    }
第二步:创建跳转对象
     SplitPageVo vo=new SplitPageVo()
第三步:设置SQL语句SqlVo,URL,当前页面page
     vo.setPageVo(page,10);
     vo.setSqlVo("shop", "1=1", "id", "asc")
     vo.setUrl("/servlet/Shop.do?action=0")
第四步:传入BIZ
     TransOrderBiz biz=new TransOrderBiz()
     vo=biz.getAllOrders(vo)
第五步:页面转向
request.setAttribute("OrderList",vo);
url="/tpl/tplproject/OrderList.jsp";
request.getRequestDispatcher(url).forward(request,response);
..................................................................
在BIZ里:
public class TransOrderBiz {
public SplitPageVo getAllOrders(SplitPageVo vo){
DBConnection dbc = new DBConnection();
if(dbc.getConnect()){
    Connection conn = dbc.getConn();
    try{
    BU_TRANS_ORDERDAO dao=new BU_TRANS_ORDERDAO();
    vo=dao.findByAll(conn);
    }catch(Exception e){
     e.printStackTrace();
    }finally{
     try{
      conn.close();
     }catch(Exception ex){
      ex.printStackTrace();
     }
    }
}else{
    System.out.println("数据库连接失败!");
}
return vo;
}
}
..................................................................
在DAO里:
public SplitPageVo findByAll(Connection conn ,SplitPageVo vo){
     Vector v=new Vector();
     StringBuffer sqlStr = null;
     PreparedStatement ps=null;
     Connection _conn=null;
     ResultSet rs=null;
     try{
      _conn=conn;
      $$$$$$$$$$$$$$$$$$$$$$$$$~~核~~心~~部~~分~~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
       vo.getCount(_conn)//获取条数
      vo.setPageVo(vo.getPageVo().getNowPage(),vo.getPageVo().getCount(),vo.getPageVo().getPreList())//设置PageVo
      int top1 = vo.getTop1();
      int top2 = vo.getTop2();
      String strSql=vo.getSqlVo().toAllSql(top1,top2)//取出SQL语句
      $$$$$$$$$$$$$$$$$$$$$$$$$$~~核~~心~~部~~分~~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
      ps=_conn.prepareStatement(strSql);
      rs=ps.executeQuery();
      while(rs.next()){
       BU_TRANS_ORDERVO vo=new BU_TRANS_ORDERVO();
       vo.setTO_ID(rs.getLong("TO_ID"));
                    。。。。。。。。。。。。。。。。。
                    。。。。。。。。。。。。。。。。。
                    。。。。。。。。。。。。。。。。。
       vo.setTO_PRICE(rs.getDouble("TO_PRICE"));
       v.addElement(vo);
      }
      vo.setData(v)//放入数据
     }
     catch(Exception e){
      e.printStackTrace();
     }
     finally{
      try{
       if (ps!=null){
        ps.close();
        ps=null;
       }
       
      }catch(Exception e){
       e.printStackTrace();
      }
     }
     return vo;//返回
    }
    ................................................................................
    在JSP里:
    SplitPageVo splitPageVo;
    splitPageVo=(SplitPageVo)request.getAttribute("OrderList");
    List l=splitPageVo.getData();
    if(l!=null && l.size()>0 ){
    for(int i=0;i<l.size() && i<l.size() ;i++){
    ComplOrderVo vo=(ComplOrderVo)l.get(i);
             。。。。。。。。。。。。。。。。。。。
             。。。。。。。。。。。。。。。。。。。
             。。。。。。。。。。。。。。。。。。。
    }
             。。。。。。。。。。。。。。。。。。。
             。。。。。。。。。。。。。。。。。。。
             。。。。。。。。。。。。。。。。。。。
     <td >
<%=splitPageVo.splitPage(splitPageVo)%> //分页部分
</td>
          。。。。。。。。。。。。。。。。。。。
             。。。。。。。。。。。。。。。。。。。
             。。。。。。。。。。。。。。。。。。。
    ................................................................................
*/
	posted on 2008-06-18 15:48 
jadmin 阅读(70) 
评论(0)  编辑  收藏