Java丨springMVC + Ajax 来进行分页
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 来进行分页的更多相关文章
- Java Web SpringMVC AJAX,实现页面懒加载数据
因为做的微信端的网页,所以在显示后台数据的时候,要么分页,要么全部加载数据,开始分页对于用户来说,其实体验不是很好,毕竟要去不断的点击下一页,但是如果我把全部数据读取出来的话,但用户可能也就看前面几条 ...
- springmvc+ajax——第二讲(页面缓存)
springmvc+ajax+页面缓存(参考:https://www.cnblogs.com/liuling/archive/2013/07/25/2013-7-25-01.html) 必须设置响应头 ...
- SpringMVC + AJAX 实现多文件异步上传
转自:https://www.jianshu.com/p/f3987f0f471f 今天,我就这个问题来写一篇如何用 SpringMVC + AJAX 实现的多文件异步上传功能.基本的代码还是沿用上篇 ...
- SpringMVC+Ajax实现文件批量上传和下载功能实例代码
需求: 文件批量上传,支持断点续传. 文件批量下载,支持断点续传. 使用JS能够实现批量下载,能够提供接口从指定url中下载文件并保存在本地指定路径中. 服务器不需要打包. 支持大文件断点下载.比如下 ...
- ajax 无刷新分页
//ajax 无刷新分页1.前台要做的 滑动时 当前page+1,通过page ajax请求后台接口获取数据将数据进行拼装;2.后台要做的 做分页接口返回json数据前台判断触发请求条件: var p ...
- thinkphp ajax 无刷新分页效果的实现
思路:先做出传统分页效果,然后重新复制一份Page.class.php类,对它进行修改,把js中的函数传到page类中,把上一页.下一页.首页.尾页.链接页中的url地址改成js控制的函数,模板页面中 ...
- java使用xheditor Ajax异步上传错误
java使用xheditor Ajax异步上传时候错误如下:the request doesn't contain a multipart/form-data or multipart/mixed s ...
- 关于Ajax无刷新分页技术的一些研究 c#
关于Ajax无刷新分页技术的一些研究 c# 小弟新手,求大神有更好的解决方案,指教下~ 以前做项目,用过GridView的刷新分页,也用过EasyUI的封装好的分页技术,最近在老项目的基础上加新功能, ...
- Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求
Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求 >>>>>>>>>>>>>>&g ...
随机推荐
- linux 安装jdk和tomcat
安装jdk 下载相关jdk .rpm包,如:jdk-8u31-linux-i586.rpm 解压:#rpm -ivh jdk-8u31-linux-i586.rpm 配置环境变量:#vi /etc/ ...
- sprint3 【每日scrum】 TD助手站立会议第四天
站立会议 组员 昨天 今天 困难 签到 刘铸辉 (组长) 和楠哥学习了通过AlarmManager 来实现闹钟,由于要用到BroadcastReceiver广播协议,所以正在学习中,暂时只是按照教程写 ...
- modelsim-altera
一. 1. Go to the menu Tools > Options. 2. In the “General” category, select “EDA Tool Options”. ...
- jdk并发工具包之锁
1.cynchronized扩展:可重锁入ReentrantLock ReentrantLock是通过cas算法实现的 RenntrantLock lock=new ReentrantLock(); ...
- A、B两伙马贼意外地在一片沙漠中发现了一处金矿,双方都想独占金矿,但各自的实力都不足以吞下对方,经过谈判后,双方同意用一个公平的方式来处理这片金矿。处理的规则如下:他们把整个金矿分成n段,由A、B开始轮流从最左端或最右端占据一段,直到分完为止。 马贼A想提前知道他们能分到多少金子,因此请你帮忙计算他们最后各自拥有多少金子?(两伙马贼均会采取对己方有利的策略)
第一种做法:这种方法,算法复杂性大,重复的递归 #include "stdafx.h" #include<iostream> #include<vector> ...
- 本地filezilla&servervsftp搭配使用
环境:本地ubuntu系统&serverubuntu系统 本地安装filezilla apt-get install filezilla '安装filezilla filezilla '执行 ...
- 【PyCharm编辑器】之无法导入引用手动新建的包或类,报:This inspection detects names that should resolve but don't. Due to dynamic dispatch and duck typing, this is possible in a limited but useful number of cases.
一.现象描述 如下图所示,手动新建个类包calculator.py,想在test.py文件引用它,发现一直报红线,引用失败 Unresolved reference 'calculator' less ...
- 安卓ADT离线安装
http://jingyan.baidu.com/article/3aed632e66858770108091bf.html
- 如何创建虚拟硬盘 + os 读取硬盘参数代码
[0]README 0.1) 本文旨在演示如何利用 bximage 创建虚拟硬盘: 0.2) 利用 os 读取硬盘参数, source code from orange's implemention ...
- spring AOP(切面)
AOP 基本概念cross cutting concern横切性关注点:独立服务,遍布在系统处理流程之中 Aspect对横切关注点模块化 advice对横切关注点具体实现 pointcut定义adv ...