javaweb 分页技术 实现的方式有很多种,但是小编在网上问了度娘也问了谷老师,得到的答案让小编我不是很满意,so,还是自己写吧!

在小编的博文中,小编不会上传源码,只会把重要的代码和思路供大家参考!

如果只想要实现代码的读者们就不要继续观看此文章。

主题:Javaweb分页技术实现详解

1、首先我们来解析一下分页实现需要的一些变量有哪些:

upPage:上一页

nextPage:下一页

nowPage:当前的页数

sumPage:总页数

list:需要显示的数据

count:显示的条数

2、在上面我们知道了需要一些什么参数,那么我们怎么获得这些参数呢?

1)我们首先从后台加载一次要显示的数据到页面上

request.setAttribute("list", list);//需要显示在界面的数据

request.setAttribute("count", list.size());//在界面上显示的当前页条数

request.setAttribute("nowPage", nowPage);//现在是多少页

request.setAttribute("sumPage", sumPage);//总页数多少页

2)把第一条中对应的参数在后台传到view层  ,显示如下格式:

|  姓名  |  年龄  |  班级  |

|  张山  |  19    |  3班   |

|  李四  |  20    |  1班   |

|  王麻子   |  18    |  5班   |

----3条------------上一页--1/20--下一页--

参数对应如下:

3条:${count}

1:${nowPage}

20:${sumPage}

以上就是我们在分页之前做的准备工作,接下来就是ajax的事情了

3.设置上一页下一页的点击事件:

/*

* 下一页
*/
$("#nextPage").click(function(){
  //alert("----");
  //判断是否不是最后一页
if($("#pageNum").html().indexOf($("#sumPage").html())!=-1){
alert("已经是最后一页了");
return;
} else {//不为最后一页就查找下一页的内容
$.post("next.duanniu",
{
page:""+$("#pageNum").html(),
sumPage:""+$("#sumPage").html()
},
function(data,status){//返回状态
$("#att").empty();//设置tbody的内容为空
if(status=="success"){
var jsonData = JSON.parse(data);
var jsonStr = "";
var record = 0;
$.each(jsonData, function(i, item){
jsonStr+="<tr >"+
"<td width='150px'>"+item.id+"</td>"+
"<td>"+item.name +"</td>"+
"<td>"+item.area +"</td>"+
"<td>"+item.empower +"</td>"+
"<td>"+item.belong +"</td>"+
"<td><span class='state'>"+item.state +"</span></td>"+
"<td>"+
"<div class='operation'>"+
"<a class='edit' href='cardAdminTableShow.duanniu?id="+item.id+"'>"+
" <span class='btn-edit'></span>直推查看"+
"</a>"+
" <a class='edit' href='cardAdminTree.duanniu?id="+item.id+"'>"+
" <span class='btn-edit'></span>树状图"+
" </a>"+
" </div>"+
"</td>"+
"</tr>";
record = i+1;
});
$("#att").empty().append(jsonStr);
$("#recordCount").html("共"+record+"条");
//设置页数
$("#pageNum").html(""+(parseInt($("#pageNum").html())+1));
}
});
}
});

/*
* 上一页
*/
$("#upPage").click(function(){
//判断是否不是最后一页
if(parseInt($("#pageNum").html())-1==0){
alert("已经是第一页了");
return;
} else {//不为最后一页就查找下一页的内容
$.post("next.duanniu",
{
page:""+parseInt($("#pageNum").html())-2,
sumPage:""+$("#sumPage").html()
},
function(data,status){//返回状态
$("#att").empty();//设置tbody的内容为空
if(status=="success"){
var jsonData = JSON.parse(data);
var jsonStr = "";
var record = 0;
$.each(jsonData, function(i, item){
//alert("--"+jsonData);
jsonStr+="<tr >"+
"<td width='150px'>"+item.id+"</td>"+
"<td>"+item.name +"</td>"+
"<td>"+item.area +"</td>"+
"<td>"+item.empower +"</td>"+
"<td>"+item.belong +"</td>"+
"<td><span class='state'>"+item.state +"</span></td>"+
"<td>"+
"<div class='operation'>"+
"<a class='edit' href='cardAdminTableShow.duanniu?id="+item.id+"'>"+
" <span class='btn-edit'></span>直推查看"+
"</a>"+
" <a class='edit' href='cardAdminTree.duanniu?id="+item.id+"'>"+
" <span class='btn-edit'></span>树状图"+
" </a>"+
" </div>"+
"</td>"+
"</tr>";
record = i+1;
});
$("#att").empty().append(jsonStr);
$("#recordCount").html("共"+record+"条");
//设置页数
$("#pageNum").html(""+(parseInt($("#pageNum").html())-1));
}
});
}
});

备注:以上由于时间关系,内容不完善,所以设置了密码,还请见谅!

=======祝各位读者生活愉快======

Java丨springMVC + Ajax 来进行分页的更多相关文章

  1. Java Web SpringMVC AJAX,实现页面懒加载数据

    因为做的微信端的网页,所以在显示后台数据的时候,要么分页,要么全部加载数据,开始分页对于用户来说,其实体验不是很好,毕竟要去不断的点击下一页,但是如果我把全部数据读取出来的话,但用户可能也就看前面几条 ...

  2. springmvc+ajax——第二讲(页面缓存)

    springmvc+ajax+页面缓存(参考:https://www.cnblogs.com/liuling/archive/2013/07/25/2013-7-25-01.html) 必须设置响应头 ...

  3. SpringMVC + AJAX 实现多文件异步上传

    转自:https://www.jianshu.com/p/f3987f0f471f 今天,我就这个问题来写一篇如何用 SpringMVC + AJAX 实现的多文件异步上传功能.基本的代码还是沿用上篇 ...

  4. SpringMVC+Ajax实现文件批量上传和下载功能实例代码

    需求: 文件批量上传,支持断点续传. 文件批量下载,支持断点续传. 使用JS能够实现批量下载,能够提供接口从指定url中下载文件并保存在本地指定路径中. 服务器不需要打包. 支持大文件断点下载.比如下 ...

  5. ajax 无刷新分页

    //ajax 无刷新分页1.前台要做的 滑动时 当前page+1,通过page ajax请求后台接口获取数据将数据进行拼装;2.后台要做的 做分页接口返回json数据前台判断触发请求条件: var p ...

  6. thinkphp ajax 无刷新分页效果的实现

    思路:先做出传统分页效果,然后重新复制一份Page.class.php类,对它进行修改,把js中的函数传到page类中,把上一页.下一页.首页.尾页.链接页中的url地址改成js控制的函数,模板页面中 ...

  7. java使用xheditor Ajax异步上传错误

    java使用xheditor Ajax异步上传时候错误如下:the request doesn't contain a multipart/form-data or multipart/mixed s ...

  8. 关于Ajax无刷新分页技术的一些研究 c#

    关于Ajax无刷新分页技术的一些研究 c# 小弟新手,求大神有更好的解决方案,指教下~ 以前做项目,用过GridView的刷新分页,也用过EasyUI的封装好的分页技术,最近在老项目的基础上加新功能, ...

  9. Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求

    Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求 >>>>>>>>>>>>>>&g ...

随机推荐

  1. jquery方法

    $.inArray(被判断的量,ArrayName);  如果存在返回索引值,如果不存在返回-1 $.unique() 数组去重   根据去重前后的长度,判断是否有重复 $.each(被遍历的数组,f ...

  2. matlab-1

    1.size():获取矩阵的行数和列数 (1)s=size(A), 当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时矩阵的行数,第二个元素是矩阵的列数.(2)[r,c]=size(A),当 ...

  3. Build Your Jekyll Blog (On Github)

    http://kevinjmh.github.io/web/2014/04/20/build-your-jekyll-blog/ 20 April 2014 On GitHub Follow the ...

  4. solr入门之pinyin4j源代码改写动态加入扩展词及整合进war项目中

    1.初始化时载入用户定义的字典 package net.sourceforge.pinyin4j; import net.sourceforge.pinyin4j.multipinyin.Trie; ...

  5. 2009-04-19 22:40 SQL SERVER游标的讲解

    游标和游标的优点 在数据库中,游标是一个十分重要的概念.游标提供了一种对从表中检索出的数据进行操作的灵活手段,就本质而言,游标实际上是一种能从包括多条数据记录的结 果集中每次提取一条记录的机制.游标总 ...

  6. null的比较问题

    select count(*) from table_a WHERE  status=1 and end_time<now(); 写这个sql的时候有点纠结,万一end_time是null怎么办 ...

  7. IPv4(三)地址掩码

    回顾网络类型确定 回顾一下之前学过的如果确定IP地址网络号,这里先不考虑子网. 首先通过首个八位组字节规则很容易确定IP地址属于那个网络: 如果第1位是0,则是A类地址: 如果前两位是10,则是B类地 ...

  8. oracle查询数据库资源位置

    archival log list; 归档日志文件位置 select file_name from dba_data_files; 查询数据库文件位置 select parameter control ...

  9. erlang进程监控:link和monitor

    Erlang最开始是为了电信产品而发展起来的语言,因为这样的目的,决定了她对错误处理的严格要求.Erlang除了提供exception,try catch等语法,还支持Link和Monitor两种监控 ...

  10. OpenCV 中的三大数据类型( 概述 )

    前言 OpenCV 提供了许多封装好了的类型,而其中,以三大类型最为核心.本文将大致介绍这三大类型. CvArr:不确定数组 它可以被视为一个抽象基类,后面的两大类型都继承此类型并扩展.只要某个函数的 ...