JSP分頁(yè)共設(shè)計(jì)了三個(gè)類:SplitPageVo 、PageVo、SqlVo
以上三個(gè)類請(qǐng)參考本博客的
JSP分頁(yè)類一:SplitPageVo?????? JSP分頁(yè)類二:SqlVo????????? JSP分頁(yè)類三:PageVo
三篇文章
核心為一條SQL語(yǔ)句:
SELECT * FROM??????????????
???????????? (SELECT TOP 每頁(yè)顯示條數(shù) * FROM
???????????????????? (SELECT TOP 每頁(yè)顯示數(shù)量x當(dāng)前頁(yè) * 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
使用簡(jiǎn)要說明:
//********************************************使~~~~用~~~~說~~~~明*****************************************
/**
...............................................................
在SERVELET里:
第一步:獲取當(dāng)前頁(yè)碼
if(request.getParameter("page")!=null){
??? page=Integer.parseInt(request.getParameter("page"));
??? }else{
??? page=1 ;
?? }
第二步:創(chuàng)建跳轉(zhuǎn)對(duì)象
??? SplitPageVo vo=new SplitPageVo()
第三步:設(shè)置SQL語(yǔ)句SqlVo,URL,當(dāng)前頁(yè)面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)
第五步:頁(yè)面轉(zhuǎn)向
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("數(shù)據(jù)庫(kù)連接失??!");
}
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)//獲取條數(shù)
???? vo.setPageVo(vo.getPageVo().getNowPage(),vo.getPageVo().getCount(),vo.getPageVo().getPreList())//設(shè)置PageVo
???? int top1 = vo.getTop1();
???? int top2 = vo.getTop2();
???? String strSql=vo.getSqlVo().toAllSql(top1,top2)//取出SQL語(yǔ)句
???? $$$$$$$$$$$$$$$$$$$$$$$$$$~~核~~心~~部~~分~~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
???? 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)//放入數(shù)據(jù)
??? }
??? 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)%> //分頁(yè)部分
</td>
???????? 。。。。。。。。。。。。。。。。。。。
??????????? 。。。。。。。。。。。。。。。。。。。
??????????? 。。。。。。。。。。。。。。。。。。。
?? ................................................................................
*/
posted on 2008-06-18 15:48
jadmin 閱讀(58)
評(píng)論(0) 編輯 收藏