百度和Google的分页效果非常好,本文就介绍了具体的实现效果。像百度一样的jsp分页效果,像goolge一样的分页效果! 根据设定参数一次取一页记录内容显示处:
<%@ page language="java" pageEncoding="GB2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>仿BAIDU & GOOGLE 分页页码显示格式</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<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;//假设取出记录总数
int pagescount = (int) Math.ceil((double) count / pagesize);//求总页数,ceil(num)取整不小于num
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;
//String strSql = "select * from usertable limit recordbegin,pagesize";//取出分页记录,SQL因数据库而异!
//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>
分享到:
相关推荐
JSP实现百度谷歌分页页码功能源代码 让你的网页跟百度实现一样的分页功能! 欢迎到我的博客交流探讨此类问题!
JSP中分页效果实现步骤 JSP中分页效果实现步骤 JSP中分页效果实现步骤 JSP中分页效果实现步骤
仿百度分页效果的jsp实现,maven项目完整包,包括数据库建立文件
JSP实现类似百度,google的分页.JSP,仿,google,分页,servlet分页
java实现分页 jsp分页 分页java实现分页 jsp分页 分页java实现分页 jsp分页 分页java实现分页 jsp分页 分页java实现分页 jsp分页 分页java实现分页 jsp分页 分页
jsp分页效果jsp分页效果jsp分页效果jsp分页效果jsp分页效果jsp分页效果jsp分页效果jsp分页效果jsp分页效果jsp分页效果jsp分页效果
博文链接:https://huxiuliang.iteye.com/blog/224020
jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页jsp 分页...
仿百度分页,谷歌分页页码处理 解决分页太多,智能始终显示一部分的效果 可以依照这个思路自己改,很好上手,分页思想 都有注释
Jsp中利用JavaBean技术实现分页功能 Jsp中利用JavaBean技术实现分页功能
JSP实现分页JSP实现分页JSP实现分页JSP实现分页JSP实现分页JSP实现分页JSP实现分页JSP实现分页JSP实现分页JSP实现分页JSP实现分页JSP实现分页JSP实现分页JSP实现分页JSP实现分页
jsp servlet 实现的真分页与假分页,jsp servlet 实现的真分页与假分页
jsp中实现分页技术,分页技术是网页开发中经常遇到的问题。
用JSP实现的真分页和假分页,环境 Tomcat+mysql
JSP 中实现分页显示数据!JSP 中实现分页显示数据!
jsp 分页实现总结大全jsp 分页实现总结大全jsp 分页实现总结大全
用jsp+servlet技术实现分页,包含jsp标签
带学员课上做的oracle模仿百度分页样式的例子。比较适合初学者参考,jdbc工具类是自己写的,没有使用第三方分页组件。tomcat是apache-tomcat-7.0.41,myeclipse是MyEclipse 9.0,oracle是11g。例子中用的是海量数据...
利用jsp写的分页 注册,查询,增加,删除都实现了
jsp中数据库在页面分页的实现 用存储过程实现分页 servlet分页 Oracle分页 MySQL 分页 自带数据库内容