JSP分頁

Posted on 2008-08-08 13:55 橡皮人 阅读(134) 评论(0)  编辑  收藏


 分頁技術的業務層

public class PageSplit {
    
    
int row=5//每頁顯示多少行
    private int rows=0//總共有多少行
    private int pageSize=0;// 總共有多少頁
    private int pageID=1//當前頁
    BookBean book=new BookBean();//圖書bean信息
    Connection conn = null;
    Statement stmt 
= null;
    ResultSet rs 
= null;
    List list
=new ArrayList();
    String sql
="select title,imageFile from titles";
    
    
public int getPageID() {
        
return pageID;
    }
    
public void setPageID(int pageID) {
        
this.pageID = pageID;
    }
    
public int getPageSize() {
        
return pageSize;
    }
    
public void setPageSize(int pageSize) {
        
this.pageSize = pageSize;
    }
    
public int getRows() {
        
return rows;
    }
    
public void setRows(int rows) {
        
this.rows = rows;
    }
    
    
public List pageSplit(int pageID) throws Exception{
        
this.pageID=pageID;//客戶端傳遞過來的頁數
        conn=DB.getConn();
        stmt
=DB.getStmt(conn);
        rs
=stmt.executeQuery(sql);
        
if(!rs.next()) {
            
            
return null;
            
        } 
else {
            
            rs.last();
//游標移到末尾(注意:若要設置游標的更新創建一個這樣的Statement,)
       Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);

            this.setRows(rs.getRow());//獲取數據的總行數

            rs.beforeFirst();//游標移回來

                if(this.getRows()%this.row==0) {
                    
                    
this.pageSize=this.getRows()/this.row;
                    
                } 
else {
                    
                    
this.pageSize=this.getRows()/this.row+1;
                    
                }    
                
for(int i=0;i<(pageID-1)*row;i++) {
                    
                    rs.next();
                    
                }
                
for(int j=0;j<row;j++) {
                    
                    List list2
=new ArrayList();
                    
if(!rs.next()) {
                        
return null;
                            
                    } 
else {
                        
                        book.setTitle(rs.getString(
"title"));
                        book.setImageFile(rs.getString(
"imageFile"));
                        list2.add(book);
                        list.add(list2);
                    }
                }
        }
        
        
        
return list;
        
    }
    

}


分頁的業務層寫好后,接下來在JSP中獲取數據顯示:

  <%
        
int pageID =0;
        
if(request.getParameter("pageID")==null) {
            pageID
=1;
        } 
else {
            pageID 
= Integer.parseInt(request.getParameter("pageID"));
        }
        
        List list 
= pagebean.pageSplit(pageID,1);
        
for(int i=0;i<list.size();i++) {
            
        
    
%>
        
<tr>
            
<%
                List list2 
= (List)list.get(i);
                
for(int j=0;j<list2.size();j++) { 
                    
                
            
%>
            
<td class=tdr><%=(String)list2.get(j).toString() %></td>
            
<%
                }
            
%>
        
</tr>
    
<%
        }
    
%>
    
<tr>
        
<td class=tdl>共有记录<%=pagebean.getSize() %></td>
        
<td class=tdl>当前为<%=pagebean.getPageID() %>/<%=pagebean.getPageNum() %></td>
        
<%
            
if(pagebean.getPageID()!=1) {
        
%>
        
<td class=tdl><a href="?pageID=<%=pagebean.getPageID()-1 %>">上一页</a></td>
        
<%
            } 
else {
        
%>
            
<td class=tdl></td>
        
<% 
            }
        
%>
        
<%
            
if(pagebean.getPageID()!=pagebean.getPageNum()) {
        
%>
        
<td class=tdl><a href="?pageID=<%=pagebean.getPageID()+1 %>">下一页</a></td>
        
<%
            } 
else {
        
%>
        
<td class=tdl></td>
        
<%
            }
        
%>

ok,寫到這里,一個簡單的分頁也就寫好了。


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


网站导航:
 

posts - 28, comments - 5, trackbacks - 0, articles - 0

Copyright © 橡皮人