为什么分页?
- 分页是一种将所有数据分段展示给用户的技术。用户每次看到的并不是全部数据,而是其中的一部分,如果在这部分数据中没有找到自己想要的内容,可以通过指定页码或是翻页的方式转换到其他内容,直到找到自己想要的内容为止。这种技术缩短了请求响应时间,而且也不会出现因数据过多导致页面冗长的情况,提高了用户体验。
分页的实现初步思路:异步
①为页面指定:能够显示的最多数据条数
②通过当前页码来确定显示的具体数据
③上一页、下一页事件异步进行数据更新
④当前页在异步中跟进更新
⑤获取页数,在第一页,和末页进行提示
在分页的基础上、添加模糊查询
①异步显示查询结果,需要跟分页融合
②sql语句的拼接实现条件添加
实例
在分页基础上添加了模糊查询的一个实例:
user_info表数据如下
首页:发送请求页(代码如下)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<script type="text/javascript" src="./js/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
/*设置当前页页码为pageNo,初始为第一页*/
var pageNo=1;
/*设置总页数为pageTotal*/
var pageTotal;
/*开始定义page异步方法:实现的主要一步*/
function page(){
/*实现正确数据更新、就需要把即将更新的当前页添加到请求中*/
var path="./DataServlet?pageNo="+pageNo;
/*分别获取两个搜索框中的内容*/
var name=$("[name='name']").val();
var address=$("[name='address']").val();
/*要想实现查询关键字、必须把查询内容一并添加到请求中
1、有内容时,添加到请求当中
2、没有内容时,正常更新数据*/
if(name!=""&&name!=undefined){
path=path+"&name="+name;
}
if(address!=""&&address!=undefined){
path=path+"&address="+address;
}
/*异步应用*/
var object={
url:path,
type:"get",
success:function(data){
/*对响应反馈的数据进行处理
反馈的数据:
1、在响应类中实现了数据库连接,并进行了请求的转发(详情参照第二个代码块)
2、返回一个表格,和一个带着总页数的隐藏框(详情参照第三个代码块)
处理:
1、将表格插入到div标签中、实现局部更新的效果
2、从隐藏框中获取总页数*/
$("#page").html(data);
pageTotal=$("#pageTotal").val(