在这里是一个jsp页面的分页,是在前台实现的,不是最优的,因为如果数据量大的话,打开页面可能会慢。
下面是分页代码:
<%
int PageSize=15;//每页显示数据量
int RecordCount;
int PageCount;
int Page=1;
int i;
String SPage=request.getParameter("page");
if(SPage==null){
Page=1;
}
else{
Page=java.lang.Integer.parseInt(SPage);
if(Page<1)Page=1;
}
String sql="SELECT * FROM t_batch_mgmt order by BATCH_NUM asc";
Connection con = ConnectionDB.getConnection();
Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs=stmt.executeQuery(sql);
rs.last();
RecordCount=rs.getRow();
PageCount=(int)(RecordCount+PageSize-1)/PageSize;
if(Page>PageCount)
Page=PageCount;
if(PageCount>0){
rs.absolute((Page-1)*PageSize+1);
i=0;
while(i<PageSize&&!rs.isAfterLast()){
%>
<tr>
<!-- 在这里checkbox的id设置为id,在servlet中拿到选中的value的id值,传到service中根据id拿到数据 -->
<td><input type="checkbox" value=<%=Integer.valueOf(rs.getString("BATCH_NUM")) %> name="chkstart" id="chkstart">
</td>
<td><%=Integer.valueOf(rs.getString("BATCH_NUM"))%></td>
<td><%=rs.getString("DYM_NAME")%></td>
<td><%=rs.getString("STAT")%></td>
<td></td>
</tr>
<%
rs.next();
i++;
}
}
%>
下面的是分页按钮:
<td colspan="2">
<div align="center">
第<%=Page %>页 共<%=PageCount %>页
<%
if(Page<PageCount){
%>
<a href="stepControl.jsp?page=<%=Page+1%>">下一页</a>
<%
}
if(Page>1){ %>
<a href="stepControl.jsp?page=<%=Page-1 %>">上一页</a>
<%
}
%>
</div>
</td>
用这些分页就实现了