springMVC+ajax分页查询
项目用到ajax技术的查询,查询结果很多时候要分页展示。这两天摸索了一下,在这里做一总结,方便自己随时查看,
也方便后人参考。
这里的顺序遵从从前台页面到后台控制器,业务层,Dao层,Mapper
下面先讲页面,页面js代码如下:
- <span style="font-size:14px;">/* 全局变量 */
- var userCount;//符合查找条件的用户总页数,分页参考
- var pageIndex = 0;//当前页,默认为0
- var pageSize = 8;//每页显示个数为8
- //按条件查找用户
- function searchUser(index,size) {
- var findTerm = $("#serchTerm").val();
- var provinceId = $('#province').val();
- var cityId = $('#city').val();
- $.ajax({
- type : "POST",
- url : "user/findContactsAjax",
- cache : false,
- data : {
- provinceId : provinceId,
- cityId : cityId,
- pageIndex:index,
- pageSize:size
- },
- async : true,
- error : function() {
- alert("网络异常!");
- },
- success : function(data) {
- <span style="white-space:pre"> </span>userCount=Math.ceil(data[0].userCount/8);<span style="white-space:pre"> </span>var page='<div id="userPage" align="center" ><font size="2">共'
- +userCount+'页</font> <font size="2">第'
- +(pageIndex+1)+'页</font> <a href="javascript:void" onclick="GoToFirstPage()" id="aFirstPage" >首页</a> '
- +'<a href="javascript:void" onclick="GoToPrePage()" id="aPrePage" >上一页</a> '
- +'<a href="javascript:void" onclick="GoToNextPage()" id="aNextPage" >下一页</a> '
- +'<a href="javascript:void" onclick="GoToEndPage()" id="aEndPage" >尾页</a> ';
- page+='</div>';
- $("#serchResult").append(page);
- document.getElementById("dltitle").innerHTML = "查找结果如下";
- }
- }
- });
- }
- //首页
- function GoToFirstPage() {
- pageIndex = 0;
- searchUser( pageIndex, pageSize);
- }
- //前一页
- function GoToPrePage() {
- pageIndex -= 1;
- pageIndex = pageIndex >= 0 ? pageIndex : 0;
- searchUser( pageIndex, pageSize);
- }
- //后一页
- function GoToNextPage() {
- if (pageIndex + 1 < userCount) {
- pageIndex += 1;
- }
- searchUser( pageIndex, pageSize);
- }
- //尾页
- function GoToEndPage() {
- pageIndex = userCount - 1;
- searchUser( pageIndex, pageSize);
- }</span>
控制层代码如下:
- @RequestMapping("findContactsAjax")
- public @ResponseBody
- Map<String, Object> findContactAjax(String provinceId,String cityId,String pageIndex,String pageSize) {
- List<User> listUsers = userDao.selectUserByProvinceAndCity(provinceId, cityId,pageIndex,pageSize)
- }
- map.put("user", listUsers);
- return map;
- }
Dao层:
- List<User> selectUserByProvinceAndCity(@Param("provinceId") Integer provinceId, @Param("cityId") Integer cityId,
- @Param("pageIndex") Integer pageIndex,@Param("pageSize") Integer pageSize);
mapper文件:
- <select id="selectUserByProvinceAndCity" resultMap="BaseResultMap">
- SELECT *,
- (SELECT COUNT(*) FROM user_user_t
- province_id=#{provinceId}
- AND
- city_id=#{cityId}) AS userCount
- FROM user_user_t
- province_id=#{provinceId}
- AND
- city_id=#{cityId}
- LIMIT #{pageIndex},#{pageSize}
- </select>
User实体
- public class User {
- private Integer userId;
- private String userName;
- private Integer provinceId;
- private Integer cityId;
- private Integer userCount;//满足查询条件的用户数目,作为分页的依据
- }
- 《转:http://blog.csdn.net/gisredevelopment/article/details/39084945》
springMVC+ajax分页查询的更多相关文章
- Mybatis+SpringMVC实现分页查询(附源码)
Maven+Mybatis+Spring+SpringMVC实现分页查询(附源码) 一.项目搭建 关于项目搭建,小宝鸽以前写过一篇Spirng+SpringMVC+Maven+Mybatis+MySQ ...
- ajax分页查询
(1)先写个显示数据的页面,分页查询需要那几个部分呢? 1.首先是查询的文本框输入,还有查询按钮,那么就开始写代码吧 1 2 3 4 <div> <input type=" ...
- Maven+Mybatis+Spring+SpringMVC实现分页查询
转载:http://www.cnblogs.com/zhangtan/p/5846955.html 一.项目搭建 关于项目搭建,小宝鸽以前写过一篇Spirng+SpringMVC+Maven+Myba ...
- ajax分页查询信息的通用方法
1.页面准备分页的表格与分页div 同时需要在查询条件表单中准备隐藏当前页与页大小的文本框 <div class="container-fluid"> <div ...
- Maven+Mybatis+Spring+SpringMVC实现分页查询(附源代码)
以下小宝鸽将分享一篇Mybatis分页功能的博文,以下将给出具体的步骤.跟着博主的节奏肯定能实现.另外最后还会附上整个project的源代码.假设是没有使用过maven的猿友可自行下载相关的jar包就 ...
- 使用ajax分页查询
controller: /** * 查询所有用户/查找指定用户 * 分页+搜索 * */@RequestMapping("/findClientBySize")@ResponseB ...
- 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 ...
随机推荐
- 【Asphyre引擎】Asphyre时隔3年,更名为PXL,全平台支持!
ps:回忆日志 新版本10月初就推出了,我第一时间(10.2日更新,我当天就看到了)下载下来.发现部分Demo需要XE8才能编译通过,又去下载了一个XE8.折腾完已经深夜,只是粗粗的把Demo都编译了 ...
- Hibernate之lazy延迟加载(转)
一.延迟加载的概念 当Hibernate从数据库中加载某个对象时,不加载关联的对象,而只是生成了代理对象,获取使用session中的load的方法(在没有改变lazy属性为false的情况下)获取到的 ...
- Java中处理异常中return关键字
Java中,执行try-catch-finally语句需要注意: 第一:return语句并不是函数的最终出口,如果有finally语句,这在return之后还会执行finally(return的值会暂 ...
- Android系统兼容性问题(持续更新)
相信开发过一段Android的都被Android中的兼容性问题给折腾过,有时这确实很无奈,Android被不同的厂商改的七零八落的.本文主要总结下本人在实际的项目开发过程中所遇到的兼容性问题,以及最后 ...
- C#6.0语法糖剖析(二)
1.索引初始化 使用代码 ] = ] = ] = "thirteen"}; 编译器生成的代码 Dictionary<int, string> dictionary2 = ...
- 常用 windows运行命令
winver---------检查Windows版本 wmimgmt.msc----打开windows管理体系结构(WMI) wupdmgr--------windows更新程序 wscript--- ...
- CSS 伪类和伪对象选(五)
一.伪选择器 伪选择器包括:伪类选择器和伪对象选择器,以冒号(:)作为前缀,冒号后紧跟伪类或者伪对象名称,冒号前后没有空格,否则解析为包含选择器 如: div:hover{ font-size:12p ...
- 【原】自定义UIPageControl的圆点
在下面的两种情况下会导致圆点贴图刷新: 1.用户调用setCurrentPage:(NSInteger)currentPage时 所以重载这个函数便可拦截 2.点击圆点矩形区域时 这说明,我们 ...
- 编译iOS程序时的-all_load选项,以及-all_load 导致的 ld duplicate symbol xx的问题
在新的SDK环境中调试百度地图的应用程序时,app总是意外退出,找了半天发现错误的原因是unrecognized selector xx的错误,另外还有报了一个Unknown class XXX in ...
- virtualbox 中ubantu虚拟机范文win7文件夹
宿主机操作系统: windows7_x64 旗舰版 Oracle VM virtualBox版本:5.0.12 虚拟机操作系统: Ubantu15.12_x64 Desktop版本 让虚拟机可以访 ...