使用ajax分页查询
controller:
/**
* 查询所有用户/查找指定用户
* 分页+搜索
*
*/
@RequestMapping("/findClientBySize")
@ResponseBody
public String findClientBySize(ClientUser clientUser,String userPhone,String userName, Integer currentPage, Integer pageSize)throws Exception{
if(currentPage == null || currentPage.equals("")){
currentPage = 1;
}
if(pageSize == null || currentPage.equals("")){
pageSize = 10;
}
int startRow = (currentPage-1)*pageSize;
int endRow = pageSize;
List<ClientUser>list= clientUserService.findAllClient(clientUser);
List<ClientUser> list2= clientUserService.findClientBySize(clientUser,userPhone,userName,startRow,endRow);
PageResult pageResult = new PageResult(currentPage,list.size(),pageSize,list2);
return JSON.toJSONString(pageResult);
}
domain:
package com.hpwl.domain; import java.util.List; /**
* Created by mayn on 2019/1/15.
*/
public class PageResult {
private int currentPage;//当前页
private int prevPage;//上一页
private int nextPage;//下一页
private int countSize;//一共几条数据
private int maxPage;//最后一页
private int pageSize;//每页显示条数
private List dataList;//返回的数据集 public int getCurrentPage() {
return currentPage;
} public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
} public int getPrevPage() {
return prevPage;
} public void setPrevPage(int prevPage) {
this.prevPage = prevPage;
} public int getNextPage() {
return nextPage;
} public void setNextPage(int nextPage) {
this.nextPage = nextPage;
} public int getCountSize() {
return countSize;
} public void setCountSize(int countSize) {
this.countSize = countSize;
} public int getMaxPage() {
return maxPage;
} public void setMaxPage(int maxPage) {
this.maxPage = maxPage;
} public int getPageSize() {
return pageSize;
} public void setPageSize(int pageSize) {
this.pageSize = pageSize;
} public List getDataList() {
return dataList;
} public void setDataList(List dataList) {
this.dataList = dataList;
}
public PageResult(int currentPage, int countSize, int pageSize,List dataList) {
super();
this.currentPage = currentPage;
this.countSize = countSize;
this.pageSize = pageSize;
this.dataList = dataList; this.prevPage = currentPage > 1 ? this.currentPage - 1 : 1; this.maxPage = countSize % pageSize == 0 ? countSize/pageSize : countSize/pageSize+1; this.nextPage = currentPage >= maxPage ? maxPage :currentPage + 1;
} public PageResult() {
super();
}
} mapper:
List<ClientUser> findClientBySize(ClientUser clientUser, @Param("userPhone")String userPhone, @Param("userName")String userName, @Param("startRow")int startRow, @Param("endRow")int endRow);
mapper.xml:
<select id="findClientBySize" resultType="ClientUser" > select * from
client_user
<where>
1=1
<if test="userName!=null and userName!='' ">
and user_name=#{userName}
</if>
<if test="userPhone!=null and userPhone!=''">
and user_phone=#{userPhone}
</if>
</where>
limit
#{startRow},#{endRow} </select> jsp页面
<script type="text/javascript">
function toPage(currentPage){
$.ajax({
url:"${pageContext.request.contextPath}/AdminClient/findClientBySize",
data:{"currentPage":currentPage},
type: 'POST',
dataType: 'json',
success: function(data){
var a=null;
/*var jsonData = JSON.parse(data); //jsonData是该下路下的所有区间(json格式)
*/
var data1=data.dataList;
console.log(data);
console.log(data.dataList);
$("tbody").html('');
$.each(data1,function (index,obj) { var tr0 = '<tr class="text-c">' +
'<td><input type="checkbox" value="'+obj.id+'" name=""></td>' +
'<td><u style="cursor:pointer" class="text-primary">'+obj.userName+'</u></td>' +
'<td>'+obj.userPwd+'</td>'+
'<td>'+obj.usernick+'</td>'+
'<td>'+obj.userPhone+'</td>'+
'<td>'+obj.datetime+'</td>'+
'<td>'+obj.chack+'</td>'+
'<td>'+obj.userName+'</td>'+
'<td class="td-manage">'+
'<a style="text-decoration:none" onClick="member_start(\'this\','+obj.id+')" href="javascript:;" title="启用"><i class="Hui-iconfont"></i></a> '+
'<a style="text-decoration:none" onClick="member_stop(\'this\','+obj.id+')" href="javascript:;" title="停用"><i class="Hui-iconfont"></i></a> '+
'<a title="编辑" href="javascript:;" onclick="member_edit(\'编辑\',\'member-up.jsp\','+obj.id+',\'800\',\'510\')" class="ml-5" style="text-decoration:none">'+
'<i class="Hui-iconfont"></i></a> <a style="text-decoration:none" class="ml-5" onClick="change_password(\'修改密码\',\'change-password.jsp\','+obj.id+',\'600\',\'270\')" href="javascript:;" title="修改密码">'+
'<i class="Hui-iconfont"></i></a> <a title="删除" href="javascript:;" onclick="" class="ml-5" style="text-decoration:none"><i class="Hui-iconfont"></i></a></td>'+
'</tr>'; $("tbody").append(tr0);
}); $("tfoot").html('');
var tr1 = '<tr class="text-c"><td colspan="10" style="text-align: right"> <a href="javascript:toPage('+data.prevPage+')" >上一页</a> <a href="javascript:toPage('+data.nextPage+')" >下一页</a></td></tr>';
$("tfoot").append(tr1);
},
});
};
$(function(){
toPage(1);
});
使用ajax分页查询的更多相关文章
- ajax分页查询
(1)先写个显示数据的页面,分页查询需要那几个部分呢? 1.首先是查询的文本框输入,还有查询按钮,那么就开始写代码吧 1 2 3 4 <div> <input type=" ...
- ajax分页查询信息的通用方法
1.页面准备分页的表格与分页div 同时需要在查询条件表单中准备隐藏当前页与页大小的文本框 <div class="container-fluid"> <div ...
- springMVC+ajax分页查询
项目用到ajax技术的查询,查询结果很多时候要分页展示.这两天摸索了一下,在这里做一总结,方便自己随时查看, 也方便后人参考. 这里的顺序遵从从前台页面到后台控制器,业务层,Dao层,Mapper 下 ...
- kkpager 实现ajax分页查询
前台分页数据,适合数据少量的时候,因为分页的数据是从后台获取的,大数据的话不建议使用 现看前台代码: @{ Layout = null; } <!DOCTYPE html> <htm ...
- Ajax写分页查询(实现不刷新页面)
获取数据库中大量的信息显示在页面上,必然要使用到分页查询: 若不使用Ajax,而是用其他的方法,肯定是要刷新页面的,用户体检很不好, 所以最好使用Ajax的方法写分页查询: 1.先来找一张数据很多的表 ...
- ThinkPHP 整合Bootstrap Ajax分页
ThinkPHP Ajax分页代码 publicfunction index() { $where=array(); $name = I('name'); if(!empty($name)){ $wh ...
- MvcPager 概述 MvcPager 分页示例 — 标准Ajax分页 对SEO进行优化的ajax分页 (支持asp.net mvc)
该示例演示如何使用MvcPager最基本的Ajax分页模式. 使用AjaxHelper的Pager扩展方法来实现Ajax分页,使用Ajax分页模式时,必须至少指定MvcAjaxOptions的Upda ...
- yii下多条件多表组合查询以及自写ajax分页
多条件组合查询主要用到yii的CDbCriteria,这个类很多oem框架都有,非常好用. 前台表单 前台查询表单效果是这样的,多个条件组,每个组里放多个input,name为数组.当任何一个复选框被 ...
- ajax的分页查询(不刷新页面)
既然是分页查询,那么就要有张数据很多的表,可以让它进行分页显示,用普通的方法进行分页查询必然是要刷新页面的,这里要实现不刷新页面进行分页显示数据,就要用到ajax方式.进行编写代码 (1)先写个显示数 ...
随机推荐
- Java基础8-多线程;同步代码块
作业解析 利用白富美接口案例,土豪征婚使用匿名内部类对象实现. interface White{ public void white(); } interface Rich{ public void ...
- Python面试题目之Python函数默认参数陷阱
请看如下一段程序: def extend_list(v, li=[]): li.append(v) return li list1 = extend_list(10) list2 = extend_l ...
- Linux 之 rsyslog+mysql+LogAnalyzer 日志收集系统
作者:邓聪聪 LogAnalyzer 是一个 syslog 和其他网络事件数据的 Web 前端工具,提供简单易用的日志浏览.搜索和基本分析以及图表显示 由于公司部分项目需求使用日志记录系统,随笔记录 ...
- Visual Studio Code 的使用方法和技巧
VSCode是微软推出的一款轻量编辑器,采取了和VS相同的UI界面,搭配合适的插件可以优化前端开发的体验. 布局:左侧是用于展示所要编辑的所有文件和文件夹的文件管理器,依次是`资源管理器`,`搜索`, ...
- 【转】解决keepalived正常启动但是虚IP(VIP)没有生成的问题
如题所示,keepalived安装配置好之后能够正常启动,但是虚IP并没有生成.接着检查防火墙(iptables)发现也没有相关的限制.稍微郁闷了一下之后,查看了keepalived日志文件,这次成功 ...
- SSH阅读笔记
1.SSH单阶人脸段检测器,在不同层检测不同scale的人脸,而不是使用mtcnn中金字塔的方式,从而实现加速. 2.SSH的整体结构,3个module的stride分别为8,16,32,使用不同的感 ...
- Django—入门
索引 1.搭建环境 2.创建项目 3.设计模型 4.管理站点 5.视图及URL 6.模板 软件框架 问题1:什么是软件框架? 举个简单的例子,对于一个公司来说,公司中有各个职能部门,每个部门各司其职, ...
- jQuery的选择器中的通配符[id^='code']或[name^='code']及jquery选择器总结
1.选择器 (1)通配符: $("input[id^='code']");//id属性以code开始的所有input标签 $("input[id$='code']&quo ...
- java开发学生信息管理系统的实现(简洁易懂),适合计算机专业学生参考,课程设计、毕业论文设计参考等
编写一个简单的学生管理信息系统. 在oracle中设计一张学生表,以学号作为关键字. 其他学生信息有:姓名.手机号. 在进入系统时,显示如下菜单: ************************** ...
- numpy的基础运算2-【老鱼学numpy】
numpy的基础运算中还有很多运算,我们这里再记录一些. 最小/大值索引 前面一篇博文中我们讲述过如何获得数组中的最小值,这里我们获得最小/大值的索引值,也就是这个最小/大值在整个数组中位于第几位. ...