使用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)先写个显示数 ...
随机推荐
- Spring系列(二) Bean装配
创建应用对象之间协作关系的行为称为装配(wiring), 这也是DI的本质. Spring中装配Bean的方式 Spring提供了三种装配Bean的方式. 隐式的Bean发现机制和自动装配 Java ...
- find xargs 简单组合使用
简单总结下,留作自己以后拾遗...... 一.find xargs 简单组合 ## mv 小结find ./ -type f -name "*.sh"|xargs mv -t /o ...
- ES--08
71.内核原理探秘_最后优化写入流程实现海量磁盘文件合并(segment merge,optimize) 课程大纲 每秒一个segment file,文件过多,而且每次search都要搜索所有的seg ...
- spring MVC如何获取session传值到前台
Session简单介绍 在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下).因此,在需要保存用户数据时,服务器程 ...
- VIM编辑常用命令
1.临时使用获取root权限保存文件 :w !sudo tee % 2.多标签编辑文件 :tabnew file 3.切换标签 :tabm N (N为第几个标签,从0开始)
- IDEA打包jar包
1.点击idea左边的Maven 2.点开要打包的项目下的-->Lifecycle-->双击package 3.jar包会默认保存在项目下的target文件夹下
- python内置模块之-logging
logging 模块主要用于写日志 logging模块主要有如下几个组件 Logger Logger对象提供应用程序可直接使用的接口 Handler Handler发送日志到适当的目的地 Filte ...
- git官网和安装使用教程链接
git官网 https://git-scm.com/download/win git安装教程 https://www.cnblogs.com/wj-1314/p/7993819.html
- AGC-018 C
题意: 有$X + Y + Z$个人,第$i$个人有$Ai$个金币,$Bi$个银币,$Ci$个铜币. 选出$X$个人获得其金币,选出$Y$ 个人获得其银币,选出$Z$个人获得 其铜币,在不重复选某个人 ...
- matplotlib图例-【老鱼学matplotlib】
图例是啥,直接上图就知道了: 怎么创建上面的图例呢? 很简单,首先在plt.plot()函数中设置label文本属性,然后调用plt.legend()生成图例就可以了,完整的代码如下: import ...