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,寫到這里,一個簡單的分頁也就寫好了。