项目用到ajax技术的查询,查询结果很多时候要分页展示。这两天摸索了一下,在这里做一总结,方便自己随时查看,

也方便后人参考。

这里的顺序遵从从前台页面到后台控制器,业务层,Dao层,Mapper

下面先讲页面,页面js代码如下:

  1. <span style="font-size:14px;">/* 全局变量 */
  2. var userCount;//符合查找条件的用户总页数,分页参考
  3. var pageIndex = 0;//当前页,默认为0
  4. var pageSize = 8;//每页显示个数为8
  5. //按条件查找用户
  6. function searchUser(index,size) {
  7. var findTerm = $("#serchTerm").val();
  8. var provinceId = $('#province').val();
  9. var cityId = $('#city').val();
  10. $.ajax({
  11. type : "POST",
  12. url : "user/findContactsAjax",
  13. cache : false,
  14. data : {
  15. provinceId : provinceId,
  16. cityId : cityId,
  17. pageIndex:index,
  18. pageSize:size
  19. },
  20. async : true,
  21. error : function() {
  22. alert("网络异常!");
  23. },
  24. success : function(data) {
  25. <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">共'
  26. +userCount+'页</font> <font size="2">第'
  27. +(pageIndex+1)+'页</font> <a href="javascript:void" onclick="GoToFirstPage()" id="aFirstPage" >首页</a> '
  28. +'<a href="javascript:void" onclick="GoToPrePage()" id="aPrePage"  >上一页</a>  '
  29. +'<a href="javascript:void" onclick="GoToNextPage()" id="aNextPage" >下一页</a>  '
  30. +'<a href="javascript:void" onclick="GoToEndPage()" id="aEndPage" >尾页</a>  ';
  31. page+='</div>';
  32. $("#serchResult").append(page);
  33. document.getElementById("dltitle").innerHTML = "查找结果如下";
  34. }
  35. }
  36. });
  37. }
  38. //首页
  39. function GoToFirstPage() {
  40. pageIndex = 0;
  41. searchUser( pageIndex, pageSize);
  42. }
  43. //前一页
  44. function GoToPrePage() {
  45. pageIndex -= 1;
  46. pageIndex = pageIndex >= 0 ? pageIndex : 0;
  47. searchUser( pageIndex, pageSize);
  48. }
  49. //后一页
  50. function GoToNextPage() {
  51. if (pageIndex + 1 < userCount) {
  52. pageIndex += 1;
  53. }
  54. searchUser( pageIndex, pageSize);
  55. }
  56. //尾页
  57. function GoToEndPage() {
  58. pageIndex = userCount - 1;
  59. searchUser( pageIndex, pageSize);
  60. }</span>

控制层代码如下:

  1. @RequestMapping("findContactsAjax")
  2. public @ResponseBody
  3. Map<String, Object> findContactAjax(String provinceId,String cityId,String pageIndex,String pageSize) {
  4. List<User> listUsers = userDao.selectUserByProvinceAndCity(provinceId, cityId,pageIndex,pageSize)
  5. }
  6. map.put("user", listUsers);
  7. return map;
  8. }

Dao层:

  1. List<User> selectUserByProvinceAndCity(@Param("provinceId") Integer provinceId, @Param("cityId") Integer cityId,
  2. @Param("pageIndex") Integer pageIndex,@Param("pageSize") Integer pageSize);

mapper文件:

  1. <select id="selectUserByProvinceAndCity" resultMap="BaseResultMap">
  2. SELECT *,
  3. (SELECT  COUNT(*) FROM user_user_t
  4. province_id=#{provinceId}
  5. AND
  6. city_id=#{cityId}) AS userCount
  7. FROM user_user_t
  8. province_id=#{provinceId}
  9. AND
  10. city_id=#{cityId}
  11. LIMIT #{pageIndex},#{pageSize}
  12. </select>

User实体

    1. public class User {
    2. private Integer userId;
    3. private String userName;
    4. private Integer provinceId;
    5. private Integer cityId;
    6. private Integer userCount;//满足查询条件的用户数目,作为分页的依据
    7. }
  1. 《转:http://blog.csdn.net/gisredevelopment/article/details/39084945》

springMVC+ajax分页查询的更多相关文章

  1. Mybatis+SpringMVC实现分页查询(附源码)

    Maven+Mybatis+Spring+SpringMVC实现分页查询(附源码) 一.项目搭建 关于项目搭建,小宝鸽以前写过一篇Spirng+SpringMVC+Maven+Mybatis+MySQ ...

  2. ajax分页查询

    (1)先写个显示数据的页面,分页查询需要那几个部分呢? 1.首先是查询的文本框输入,还有查询按钮,那么就开始写代码吧 1 2 3 4 <div> <input type=" ...

  3. Maven+Mybatis+Spring+SpringMVC实现分页查询

    转载:http://www.cnblogs.com/zhangtan/p/5846955.html 一.项目搭建 关于项目搭建,小宝鸽以前写过一篇Spirng+SpringMVC+Maven+Myba ...

  4. ajax分页查询信息的通用方法

    1.页面准备分页的表格与分页div 同时需要在查询条件表单中准备隐藏当前页与页大小的文本框 <div class="container-fluid"> <div ...

  5. Maven+Mybatis+Spring+SpringMVC实现分页查询(附源代码)

    以下小宝鸽将分享一篇Mybatis分页功能的博文,以下将给出具体的步骤.跟着博主的节奏肯定能实现.另外最后还会附上整个project的源代码.假设是没有使用过maven的猿友可自行下载相关的jar包就 ...

  6. 使用ajax分页查询

    controller: /** * 查询所有用户/查找指定用户 * 分页+搜索 * */@RequestMapping("/findClientBySize")@ResponseB ...

  7. kkpager 实现ajax分页查询

    前台分页数据,适合数据少量的时候,因为分页的数据是从后台获取的,大数据的话不建议使用 现看前台代码: @{ Layout = null; } <!DOCTYPE html> <htm ...

  8. Ajax写分页查询(实现不刷新页面)

    获取数据库中大量的信息显示在页面上,必然要使用到分页查询: 若不使用Ajax,而是用其他的方法,肯定是要刷新页面的,用户体检很不好, 所以最好使用Ajax的方法写分页查询: 1.先来找一张数据很多的表 ...

  9. ThinkPHP 整合Bootstrap Ajax分页

    ThinkPHP Ajax分页代码 publicfunction index() { $where=array(); $name = I('name'); if(!empty($name)){ $wh ...

随机推荐

  1. 六个创建模式之简单工厂模式(Simple Factory Pattern)

    定义: 定义一个工厂类,它可以根据参数的不同生成对应的类的实例:被创建的类的实例通常有相同的父类.因为该工厂方法尝尝是静态的,所以又被称为静态工厂方法(Static Factory Method) 结 ...

  2. Echarts图表控件使用总结2(Line,Bar)—问题篇

    Echarts图表控件使用总结1(Line,Bar):http://www.cnblogs.com/hanyinglong/p/Echarts.html 1.前言 a.前两天简单写了一篇在MVC中如何 ...

  3. img标签src不给路径就会出现边框————记一次二笔的编码经历

    <img/>在src加载失败或没有给的,浏览器会自动给img加上边框. 如下图这样: 产品觉得影响美观,一定要pass掉. 原码是这样: .ctn{ position: relative; ...

  4. 在ALV中更新数据库表

    FORM usercommand USING ucomm TYPE sy-ucomm selfield TYPE slis_selfield. DATA: lr_grid TYPE REF TO cl ...

  5. WCF概念

    WCF 概念 WCF是.NET Framework 上灵活通讯技术.在.NET 3.0推出之前,一个企业解决方案需要几种通讯方式.对于独立于平台的通讯,使用ASP.NET Web服务.对于比较高级的 ...

  6. CRM 2013 系统设置新功能一:界面自动保存 及 SDK 中 Xrm.Page.data.entity.save

    CRM 2013 界面会自动保存了..在系统设置中默认“是”,如果不需要可以调整. CRM实体记录在新建时会有出现“保存”按钮,非新建状态下,没有“保存”按钮只有“新建”按钮,系统将会自动为你保存最后 ...

  7. sharepoint 中waiting screen dialog的使用方法(JSOM)

    sharepoint中有一个种wait screen的弹出框,其实就是一直转圈,告诉你等待一会儿时间.用法如下: 弹出: var watiDialog = SP.UI.ModalDialog.show ...

  8. 迭代器 iterator(二): 用iterator遍历arraylist

           迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址.迭代器修改了常规指针的接口,所谓迭代器是一种概念上的抽象:那些 ...

  9. 安卓开发_慕课网_ViewPager与FragmentPagerAdapter实现Tab实现Tab(App主界面)

    学习内容来自“慕课网” ViewPager与FragmentPagerAdapter实现Tab 将这两种实现Tab的方法结合起来.效果就是可以拖动内容区域来改变相应的功能图标亮暗 思路: Fragme ...

  10. KVC实现原理简介

    KVC,全称:Key-Value-Coding. KVC运用了isa-swizzling技术.isa-swizzling就是类型混合指针机制.KVC主要通过isa-swizzling来实现其内部定位查 ...