一般网上介绍的都是用JSP直接查数据库,用ResultSet的结果集分的,我的程序是JSP+Servlet+javaBean的, 懒得用Servlet分啦~ 今天研究下可不可以用ArrayList直接分, 其实很简单,下面是全部的代码,关键看红色
<table width="100%" border="1">
<tr>
<td height="384" valign="top"><table width="100%" border="1" bgcolor="#FFFFFF" align="left"
style="FILTER: Alpha(Opacity = 70)">
<tr><td valign="middle" colspan="11" align="center">
所有图书信息
</td>
</tr>
<tr>
<td align="center">
书号
</td>
<td align="center">
书名
</td>
<td align="center">
类型
</td>
<td align="center">
出版社
</td>
<td align="center">
作者
</td>
<td align="center">
价格
</td>
<td align="center">
页数
</td>
<td align="center">
登记日期
</td>
<td align="center">
是否借出
</td>
<th>
<input type="button" value="添加图书" window.location.href('BookManageServlet?action=7')">
</th>
</tr>
<%
int intPageSize; //一页显示的记录数
int intRowCount; //记录总数
int intPageCount; //总页数
int xpage=0;
int ypage;
intPageSize = 15; //设置一页显示的记录数
int intPage=1; //待显示页码
String strPage;
strPage = request.getParameter("page");//取得待显示的页码
if(strPage==null){
//表明在QueryString中没有page这一个参数,此时显示第一页数据
intPage = 1;
xpage = 0;
ypage = intPageSize;
} else {
//将字符串转换成整型
intPage = java.lang.Integer.parseInt(strPage);
ypage = intPage*intPageSize;
xpage = ypage - intPageSize;
if(intPage<1) intPage = 1;
}
ArrayList arrayList = (ArrayList) session.getAttribute("allBook");
intPageCount = (arrayList.size() + intPageSize - 1) / intPageSize;
if(intPage>intPageCount) intPage = intPageCount;
if(ypage >arrayList.size()) ypage = arrayList.size();//一定要些,不要会数组下标越界哦!
while(xpage < ypage) {
book = (BookBean) arrayList.get(xpage);
String id = book.getId();
%>
<form name="form<%=xpage%>" method="post" action="BookManageServlet" onSubmit="return check2();">
<tr>
<td align="center"><%=id%></td>
<td align="center"><%=book.getName()%></td>
<td align="center"><%=book.getTypeCode()%></td>
<td align="center"><%=book.getPublisher()%></td>
<td align="center"><%=book.getAuthor()%></td>
<td align="center"><%=book.getPrice()%></td>
<td align="center"><%=book.getPages()%></td>
<td align="center"><%=book.getCheckinDate()%></td>
<%
if (book.getLend() == 0) {
%>
<td align="center">
在库
</td>
<%
}
%>
<%
if (book.getLend() == 1) {
%>
<td align="center">
借出
</td>
<%
}
%>
<%
if (bookManag.equals("1")) {
%>
<td align="center">
<input type="button" name="update" value="更新"
οnclick='return check("<%=id%>");'>
</td>
<td align="center">
<input type="submit" name="delete" value="删除">
<input type="hidden" name="id" value=<%=id%>>
<input type="hidden" name="action" value="2">
</td>
</tr>
</form>
<%
}
xpage++;
}
%>
</table>
</td>
</tr>
</table>
<center>
第<%=intPage%>页 共<%=intPageCount%>页
<% //以下是分页的“上一页”“下一页”,有上一页就有链接,没有就为文字,下一页同理 %>
<% if(intPage>1){ %>
<a href="bookManage.jsp?page=<%=intPage-1%>">上一页</a>
<% }else{ %>
上一页
<%}%>
<% if(intPage<intPageCount){ %>
<a href="bookManage.jsp?page=<%=intPage+1%>">下一页</a>
<% }else{ %>
下一页
<%}%>
<center>
<table width="100%" border="1">
<tr>
<td height="384" valign="top"><table width="100%" border="1" bgcolor="#FFFFFF" align="left"
style="FILTER: Alpha(Opacity = 70)">
<tr><td valign="middle" colspan="11" align="center">
所有图书信息
</td>
</tr>
<tr>
<td align="center">
书号
</td>
<td align="center">
书名
</td>
<td align="center">
类型
</td>
<td align="center">
出版社
</td>
<td align="center">
作者
</td>
<td align="center">
价格
</td>
<td align="center">
页数
</td>
<td align="center">
登记日期
</td>
<td align="center">
是否借出
</td>
<th>
<input type="button" value="添加图书" window.location.href('BookManageServlet?action=7')">
</th>
</tr>
<%
int intPageSize; //一页显示的记录数
int intRowCount; //记录总数
int intPageCount; //总页数
int xpage=0;
int ypage;
intPageSize = 15; //设置一页显示的记录数
int intPage=1; //待显示页码
String strPage;
strPage = request.getParameter("page");//取得待显示的页码
if(strPage==null){
//表明在QueryString中没有page这一个参数,此时显示第一页数据
intPage = 1;
xpage = 0;
ypage = intPageSize;
} else {
//将字符串转换成整型
intPage = java.lang.Integer.parseInt(strPage);
ypage = intPage*intPageSize;
xpage = ypage - intPageSize;
if(intPage<1) intPage = 1;
}
ArrayList arrayList = (ArrayList) session.getAttribute("allBook");
intPageCount = (arrayList.size() + intPageSize - 1) / intPageSize;
if(intPage>intPageCount) intPage = intPageCount;
if(ypage >arrayList.size()) ypage = arrayList.size();//一定要些,不要会数组下标越界哦!
while(xpage < ypage) {
book = (BookBean) arrayList.get(xpage);
String id = book.getId();
%>
<form name="form<%=xpage%>" method="post" action="BookManageServlet" onSubmit="return check2();">
<tr>
<td align="center"><%=id%></td>
<td align="center"><%=book.getName()%></td>
<td align="center"><%=book.getTypeCode()%></td>
<td align="center"><%=book.getPublisher()%></td>
<td align="center"><%=book.getAuthor()%></td>
<td align="center"><%=book.getPrice()%></td>
<td align="center"><%=book.getPages()%></td>
<td align="center"><%=book.getCheckinDate()%></td>
<%
if (book.getLend() == 0) {
%>
<td align="center">
在库
</td>
<%
}
%>
<%
if (book.getLend() == 1) {
%>
<td align="center">
借出
</td>
<%
}
%>
<%
if (bookManag.equals("1")) {
%>
<td align="center">
<input type="button" name="update" value="更新"
οnclick='return check("<%=id%>");'>
</td>
<td align="center">
<input type="submit" name="delete" value="删除">
<input type="hidden" name="id" value=<%=id%>>
<input type="hidden" name="action" value="2">
</td>
</tr>
</form>
<%
}
xpage++;
}
%>
</table>
</td>
</tr>
</table>
<center>
第<%=intPage%>页 共<%=intPageCount%>页
<% //以下是分页的“上一页”“下一页”,有上一页就有链接,没有就为文字,下一页同理 %>
<% if(intPage>1){ %>
<a href="bookManage.jsp?page=<%=intPage-1%>">上一页</a>
<% }else{ %>
上一页
<%}%>
<% if(intPage<intPageCount){ %>
<a href="bookManage.jsp?page=<%=intPage+1%>">下一页</a>
<% }else{ %>
下一页
<%}%>
<center>