<%@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;
display:block;
margin:0 3px;
float: left;
text-decoration: none;
text-align:center;
line-height: 34px;
} .page a:HOVER {
background: #f2f8ff;
border: 1px solid #38f ;
}
.page a.prev{
width:90px;
}
.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();
//Connection conn = new 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">
<% 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>",1));
out.print(String.format("<a class=\"prev\" href=\"?p=%d\">&lt;&lt;上一页</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\">下一页&gt;&gt;</a>",currPage+1));
out.print(String.format("<a class=\"prev\" href=\"?p=%d\">尾页</a>",pageCount));
} %>
</th>
</tr>
</table>
</body>
</html>
请根据自己的项目、包名、数据库信息进行修改

jsp页面数据分页模仿百度分页效果的更多相关文章

  1. JSP页面数据展示:分组数据展示

    一.描述: 页面上要展示的数据只要写好sql从数据库查出来即可,但是展示有时候不是太好处理.比如工作中遇到的这种情况:有一个问题处理的流程,其中需要选择下一处理人,这些处理人要以部门的形式分组展示,实 ...

  2. jsp页面数据回显(select下拉选择框)

    1.静态变量方式: <!-- 实现select标签回显 --> 1.<select name="curStatus" value="${curStatu ...

  3. ofbiz保存jsp页面数据

    1.前台js保存 <script type="text/javascript" src="/ecloud/js/js/jquery.min.js"> ...

  4. jsp页面 列表 展示 ajax异步实现

    1. 服务端先返回页面基本结构(如message.jsp), <%@ page language="java" contentType="text/html; ch ...

  5. SpringMVC:前台jsp页面和后台传值

    前台jsp页面和后台传值的几种方式: 不用SpringMVC自带的标签 前台---->后台,通过表单传递数据(): 1.jsp页面代码如下,  modelattribute 有没有都行 < ...

  6. 分页(将数据库中的多条数据一页一页的显示在jsp页面中)

    一.显示数据库中的多条数据为什么要用分页 在真正的开发中,数据库中所存储的数据绝对不像我们平时所写的那样,仅仅有几条数据,而是有几十条甚至上百条,像淘宝京东的用户把都是上几十万甚至百万的.如果这时候在 ...

  7. jsp页面通过ajax取值/展示数据及分页显示

    jsp页面通过ajax从后台获取数据,在页面展示,并实现分页效果代码: [JavaScript部分代码] 1 <script> function getComposition(pageno ...

  8. 百度分页效果之纯jsp版

    数据库连接工具类 package com.gao.page.utils; import java.sql.Connection; import java.sql.DriverManager; publ ...

  9. 分页技巧_改进JSP页面中的公共分页代码_实现分页时可以有自定义的过滤与排序条件

    分页技巧__改进JSP页面中的公共分页代码 自定义过滤条件问题 只有一个url地址不一样写了很多行代码 public>>pageView.jspf添加 分页技巧__实现分页时可以有自定义的 ...

随机推荐

  1. 4.JMeter聚合报告分析

    1.Label:每个Jmeter的element的Name值 2.Samples:发出的请求数量 3.Average:平均响应时间 4.Median:表示50%用户的响应时间 5.90%Line:90 ...

  2. Hadoop序列化与Writable接口(一)

    Hadoop序列化与Writable接口(一) 序列化 序列化(serialization)是指将结构化的对象转化为字节流,以便在网络上传输或者写入到硬盘进行永久存储:相对的反序列化(deserial ...

  3. spring加载bean报错:expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}

    看具体报错日志: 警告: Unable to proxy interface-implementing method [public final void cn.wlf.selection.proto ...

  4. 18.9.10 LeetCode刷题笔记

    本人算法还是比较菜的,因此大部分在刷基础题,高手勿喷 选择Python进行刷题,因为坑少,所以不太想用CPP: 1.买股票的最佳时期2 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. ...

  5. MFC消息循环

    MFC消息循环 MFC应用程序中处理消息的顺序 1.AfxWndProc()  该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc. 2.AfxCallWndProc ...

  6. 学习FPGA过程中的理论知识

    学习FPGA,先要有数电知识,最好有点C语言,,学好硬件描述语言,verilog或者vhdl.在有这些基础上,做一些小的模块不断积累.这里不再赘述. 下面介绍一下关于FPGA学习过程中的一些理论知识. ...

  7. 小程序scroll-view组件使用时,子元素虽设置样式display:inline-flex;whit-space:nowrap

    小程序scroll-view组件使用时,子元素虽设置样式display:inline-flex;whit-space:nowrap

  8. eclipse项目推送git

    引用:http://blog.csdn.net/zongzhankui/article/details/48653731

  9. 第七章 API网关服务:Spring Cloud Zuul

    API网关是一个更为智能的应用服务器, 它的定义类似于面向对象设计模式中的Facade模式, 它的存在就像是整个微服务架构系统的门面一样,所有的外部客户端访问都需要经过它来进行调度和过滤.它除了要实现 ...

  10. 流程管理软件(BPM)功能简介

    易协流程管理系统实现将人为控制的业务活动,通过信息化手段实现系统控制,降低人为控制管理的风险以及促进企业的各项决策方针的顺利实施. 系统目标: 实现管理的规范化.制度化.程序化: 帮助企业将内控制度流 ...