jsp数据库查询分页技术

package bean;

public class Page {
private int totalPage;//总页数
private int currentPage;//当前页数
private int totalRecord;//总记录条数
private int currentRecord;//当前记录数
private int pageSize=1;//每页显示的记录数

public int getCurrentPage() {
return currentPage;
}

public void setCurrentPage(int PcurrentRecord,int PpageSize) {
if(currentRecord%pageSize==0)
currentPage=currentRecord/pageSize;
else
currentPage=currentRecord/pageSize+1;
}

public int getCurrentRecord() {
return currentRecord;
}

public void setCurrentRecord(int PcurrentRecord) {
currentRecord=PcurrentRecord;
}

public int getPageSize() {
return pageSize;
}

public void setPageSize(int PpageSize) {
pageSize=PpageSize;
}

public int getTotalPage() {
return totalPage;
}

public void setTotalPage(int PtotalRecord,int PpageSize) {
if(PtotalRecord%PpageSize==0)
totalPage=PtotalRecord/PpageSize;
else
totalPage=PtotalRecord/PpageSize+1;
}

public int getTotalRecord() {
return totalRecord;
}

public void setTotalRecord(int PtotalRecord) {
totalRecord=PtotalRecord;
}
}

<%@page import="java.util.List"%>
<%@page import="bean.Guest"%>
<%@page import="java.util.ArrayList"%>
<%@ page contentType="text/html; charset=utf-8" language="java"
import="java.sql.*" errorPage=""%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<jsp:useBean id="db" class="bean.ORMDBUtil" scope="page"></jsp:useBean>
<jsp:useBean id="pager" class="bean.Page" scope="page"></jsp:useBean>
<%
String sql = "select * from guests";
int currentRecord = 0;
ArrayList<Guest> result = db.select(sql);
pager.setTotalRecord(result.size());
pager.setTotalPage(result.size(), pager.getPageSize());

if (request.getParameter("currentRecord") != null) {
currentRecord = Integer.parseInt(request.getParameter("currentRecord"));
pager.setCurrentRecord(currentRecord);
pager.setCurrentPage(currentRecord, pager.getPageSize());
}

//取出当前页面要显示的子集
List<Guest> subResult = null;
if (currentRecord == 0);
subResult = result.subList(0, pager.getPageSize());
if (pager.getCurrentRecord() + pager.getPageSize() < result.size())
subResult = result.subList(pager.getCurrentRecord(),
pager.getCurrentRecord() + pager.getPageSize());
else
subResult = result.subList(pager.getCurrentRecord(),
result.size());
%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>分页显示JavaBean使用示例</title>
</head>

<body>
<font size="+2"><strong>本页利用JavaBean实现分页显示功能。</strong><br />
下面的表格就是运行结果 </font>
<table width="387" border="1" height="47">
<tr>
<td height="41">编号</td>
<td>姓名</td>
<td>电话</td>
<td>email</td>
</tr>
<%
if (subResult.isEmpty() == false) {
for (int i = 0; i < subResult.size(); i++) {
Guest guest = subResult.get(i);
out.print("<tr>");
out.print("<td>" + guest.getId() + "</td>");
out.print("<td>" + guest.getCname() + "</td>");
out.print("<td>" + guest.getPhone() + "</td>");
out.print("<td>" + guest.getEmail() + "</td>");
out.print("</tr>");
}
}
%>
</table>
<span><font size="+2">总<%=pager.getTotalRecord()%>条记录|总<%=pager.getTotalPage()%>页|当前<%=pager.getCurrentPage() + 1%>页|每页
<%=pager.getPageSize()%>条| <%
if (pager.getCurrentRecord() - pager.getPageSize() < 0)
out.print("首页|");
else
out.print("<a href='PageQuery.jsp?currentRecord="
+ (pager.getCurrentRecord() - pager.getPageSize())
+ "&pageSize=" + pager.getPageSize() + "'>上一页,</a>|");

if (pager.getCurrentRecord() + pager.getPageSize() > pager
.getTotalRecord())
out.print("尾页");
else
out.print("<a href='PageQuery.jsp?currentRecord="
+ (pager.getCurrentRecord() + pager.getPageSize())
+ "&pageSize=" + pager.getPageSize() + "'>下一页</a>|");
%>
</font></span>
</body>
</html>

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值