posts - 495,  comments - 11,  trackbacks - 0

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 阅读(56) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: