<%@page import=
"web09.shop.DBUtil"
%>
<%@page import=
"java.sql.ResultSet"
%>
<%@page import=
"java.sql.PreparedStatement"
%>
<%@page import=
"java.sql.Connection"
%>
<%@ page language=
"java"
pageEncoding=
"UTF-8"
%>
<!DOCTYPE html>
<html>
<head>
<meta charset=
"UTF-8"
>
<title>数据分页</title>
<style type=
"text/css"
>
.page a{
min-width: 34px;
height: 34px;
border: 1px solid #e1e2e3;
cursor: pointer;
display:block;
float: left;
text-decoration: none;
text-align:center;
line-height: 34px;
}
.page a:HOVER {
background: #f2f8ff;
border: 1px solid #38f ;
}
.page a.prev{
width:50px;
}
.page span{
width: 34px;
height: 34px;
border: 1px solid transparent;
cursor: pointer;
display:block;
float: left;
text-decoration: none;
text-align:center;
line-height: 34px;
cursor:
default
;
}
</style>
</head>
<body>
<table
class
=
"tt"
border=
"1"
align=
"center"
width=
"80%"
cellpadding=
"10"
>
<tr>
<th>ID</th>
<th>姓名</th>
<th>年龄</th>
<th>专业</th>
</tr>
<%
DBUtil dbutil=
new
DBUtil();
Connection conn=dbutil.getCon();
PreparedStatement pstmt1 = conn.prepareStatement(
"select count(*) from student"
);
ResultSet rs1 = pstmt1.executeQuery();
rs1.next();
int recordCount = rs1.getInt(1);
int pageSize = 10;
int start=1;
int
end
=10;
int pageCount = recordCount%pageSize==0 ? recordCount/pageSize : recordCount/pageSize+1;
int currPage = request.getParameter(
"p"
)==null ? 1 : Integer.parseInt(request.getParameter(
"p"
));
currPage = currPage<1 ? 1 : currPage;
currPage = currPage>pageCount ? pageCount : currPage;
PreparedStatement pst = conn.prepareStatement(
"select * from student limit ?,?"
);
pst.setInt(1,currPage*pageSize-pageSize);
pst.setInt(2,pageSize);
ResultSet rs = pst.executeQuery();
while
(rs.next()){
%>
<tr align=
"center"
>
<td><%=rs.getInt(1) %></td>
<td><%=rs.getString(2) %></td>
<td><%=rs.getInt(
"age"
) %></td>
<td><%=rs.getString(4) %></td>
</tr>
<%
}
%>
<tr>
<th colspan=
"4"
class
=
"page"
>
<%
out.
print
(String.format(
"<a class=\"prev\" href=\"?p=%d\">首页</a>"
,1));
if
(currPage>=7){
start=currPage-5;
end
=currPage+4;
}
if
(start>(pageCount-10)){
start=pageCount-9;
}
if
(currPage>1){
out.
print
(String.format(
"<a class=\"prev\" href=\"?p=%d\">上一页</a>"
,currPage-1));
}
for
(int i=start;i<=
end
;i++){
if
(i>pageCount)
break
;
String pageinfo=String.format(
"<a href=\"?p=%d\">%d</a>"
,i,i);
if
(i==currPage){
pageinfo=String.format(
"<span>%d</span>"
,i);
}
out.
print
(pageinfo);
}
if
(currPage<=pageCount){
out.
print
(String.format(
"<a class=\"prev\" href=\"?p=%d\">下一页</a>"
,currPage+1));
}
out.
print
(String.format(
"<a class=\"prev\" href=\"?p=%d\">尾页</a>"
,pageCount));
%>
</th>
</tr>
</table>
</body>
</html>