📄 test.jsp
字号:
<%@ page language="java" pageEncoding="GB2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>仿BAIDU 分页页码显示格式 </title>
<style>
<!--
body{
.p{
PADDING-LEFT: 18px; FONT-SIZE: 14px; WORD-SPACING: 4px
}
}
-->
</style>
</head>
<body>
<div class="p">
<%
int pagesize = 10;//每页显示记录数
int liststep = 20;//最多显示分页页数
int pages = 1;//默认显示第一页
if (request.getParameter("pages") != null){
pages = Integer.parseInt(request.getParameter("pages"));//分页页码变量
}
//取出记录总数,把*换成记录名性能更加
//sql="select count(*) from table";
int count = 305;//假设取出记录总数
//求总页数ceil(num)取整不小于num
int pagescount = (int) Math.ceil((double) count / pagesize);
if (pagescount < pages){
pages = pagescount;//如果分页变量大总页数,则将分页变量设计为总页数
}
if (pages < 1){
pages = 1;//如果分页变量小于1,则将分页变量设为1
}
//从第几页开始显示分页信息
int listbegin = (pages - (int) Math.ceil((double) liststep / 2));
if (listbegin < 1){
listbegin = 1;
}
int listend = pages + liststep/2;//分页信息显示到第几页
if (listend > pagescount){
listend = pagescount + 1;
}
//显示数据部分
int recordbegin = (pages - 1) * pagesize;//起始记录
int recordend = 0;
recordend = recordbegin + pagesize;
//最后一页记录显示处理
if (pages == pagescount){
recordend = (int) (recordbegin + pagesize * (count % pagesize) * 0.1);
}
//Connection conn = null;//要测试显示数据请自己链接数据库
//PreparedStatement stmt = null;
//取出分页记录,SQL因数据库而异
//String strSql = "select * from usertable limit recordbegin,pagesize";!
//stmt = conn.prepareStatement(strSql);
//ResultSet rs = stmt.executeQuery();
//while(rs.next())){
//显示取出的数据
// response.getWriter().println(""+rs.getString("userId")+" <br>");
//}
for (int i = recordbegin; i < recordend; i++) {
response.getWriter().println("record " + i + " <br>");
}
//显示数据部分
// <显示分页信息
// <显示上一页
if (pages > 1){
response.getWriter().println(
" <a href=?pages=" + (pages - 1) + ">上一页 </a>");
}//>显示上一页
// <显示分页码
for (int i = listbegin; i < listend; i++){
if (i != pages) {//如果i不等于当前页
response.getWriter().println(
" <a href=?pages=" + i + ">[" + i + "] </a>");
} else{
response.getWriter().println("[" + i + "]");
}
}//显示分页码>
// <显示下一页
if (pages != pagescount){
response.getWriter().println(
" <a href=?pages=" + (pages + 1) + ">下一页 </a>");
}//>显示下一页
//>显示分页信息
%>
</div>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -