思想:分頁需要四個變量:
currPage(當(dāng)前頁碼),pages(總頁碼),
PAGE_SIZE(每個頁面要顯示的數(shù)據(jù)行數(shù)),count(表數(shù)據(jù)的總行數(shù))
部分代碼如下:
得到count:
public int findCount(){
int count=0;
String sql = "select count(*) from appinfo";
try{
Statement sta = conn.createStatement();
ResultSet rs = sta.executeQuery(sql);
if(rs.next()){
count = rs.getInt(1); //對總記錄數(shù)賦值
}
rs.close();
conn.close();
}catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return count; //返回總記錄數(shù)
}
得到pages:
if(count%Data.PAGE_SIZE==0){
pages=count/Data.PAGE_SIZE;
}else{
pages=count/Data.PAGE_SIZE+1;
}
得到currPage:
if(request.getParameter("page")!=null){
currPage=Integer.parseInt(request.getParameter("page"));
}
每一個分頁要顯示的數(shù)據(jù)list:
//getDatatList方法根據(jù)入口參數(shù)page傳遞的頁碼,查詢指定頁碼中的數(shù)據(jù)
public ArrayList<Data> getDatatList(int page){
conn=fzConn.getConnection();
ArrayList<Data> list = new ArrayList<Data>();
String sql = "select* from appinfo limit ?,?";
// 取得數(shù)據(jù)庫操作對象
try{
PreparedStatement ps= conn.prepareStatement(sql);
ps.setInt(1, (page-1)*Data.PAGE_SIZE);
ps.setInt(2, Data.PAGE_SIZE);
ResultSet rs = ps.executeQuery();
// 循環(huán)記錄集,查看每一行每一列的記錄
while (rs.next()) {
String sdevid=rs.getString(1);
String smobilevender=rs.getString(2);
String sappver=rs.getString(3);
String sorigin=rs.getString(5);
String seventid=rs.getString(6);
Data data = new Data();
data.setDevid(sdevid);
data.setMobilevender(smobilevender);
data.setAppver(sappver);
data.setOsver(sosver);
data.setOrigin(sorigin);
data.setEventid(seventid);
list.add(data);
}
ps.close();
}catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
調(diào)用getDatatList方法,傳入實參currPage,得到當(dāng)前頁面顯示的數(shù)據(jù)list:
SeeOMethod db = new SeeOMethod();
ArrayList<Data> list = db.getDatatList(currPage);
構(gòu)建分頁條:
StringBuffer sb = new StringBuffer();
//通過循環(huán)構(gòu)建分頁條
for(int i=1;i<=pages;i++){
if(i==currPage){ //判斷是否為當(dāng)前頁
sb.append("『"+i+"』"); //構(gòu)建分頁條
}else{
sb.append("<a href='SeeDataServlet?page="+i+"'>"+i+"</a>");
}
sb.append(" ");
}
request.setAttribute("bar", sb.toString());
將list傳入至See.jsp頁面:
request.setAttribute("list", list);
request.getRequestDispatcher("See.jsp").forward(request, response);
See.jsp:
<body>
<table align="center" border="1">
<tr>
<td>devid</td>
<td>mobilevender</td>
<td>appver</td>
<td>osver</td>
<td>origin</td>
<td>eventid</td>
</tr>
<c:forEach items="${list}" var="data">
<tr>
<td>${data.devid }</td>
<td>${data.mobilevender }</td>
<td>${data.appver }</td>
<td>${data.osver }</td>
<td>${data.origin }</td>
<td>${data.eventid}</td>
</tr>
</c:forEach>
</table>
<br></br>
<table border="1">
<tr>
<td align="center" colspan="10">
<%=request.getAttribute("bar")%>
</td>
</tr>
</table>
</body>