1.后台action产生json数据。

  1. List blackList = blackService.getBlackInfoList(mobileNum, gatewayid, startDate, endDate);
  2. int totalRows = blackList.size();
  3. StringBuffer sb = new StringBuffer();
  4. sb.append("{\"totalCount\":\""+totalRows+"\",");
  5. sb.append("\"jsonRoot\":[");
  6. for (int i=0;i<blackList.size();i++) {
  7. LBlack blackInfo = (LBlack)blackList.get(i);
  8. sb.append("{\"id\":\""+ blackInfo.getId());
  9. sb.append("\",");
  10. sb.append("\"mobile\":\""+ blackInfo.getMobile());
  11. sb.append("\",");
  12. sb.append("\"province\":\""+ blackInfo.getProvince());
  13. sb.append("\",");
  14. sb.append("\"gateway\":\""+ blackInfo.getGateway());
  15. sb.append("\",");
  16. sb.append("\"insertTime\":\""+ blackInfo.getInsertTime());
  17. sb.append("\",");
  18. sb.append("\"remark\":\""+ blackInfo.getRemark());
  19. sb.append("\"");
  20. sb.append("},");
  21. }
  22. sb.deleteCharAt(sb.lastIndexOf(",")); // 删去最后一个逗号
  23. sb.append("]}");
  24.  
  25. HttpServletResponse response = ServletActionContext.getResponse();
  26. response.setContentType("text/plain");
  27. response.getWriter().print(sb);

2.struts.xml相关配置

  1. <action name="blackList" class="blackAction" method="blackList">
  2. <!--plaintext用于显示页面原始代码的结果类型-->
  3. <result type="plainText">
  4. <param name="charSet">UTF-8</param>
  5. <param name="location">/WEB-INF/jsp/manage/black.jsp</param>
  6. </result>
  7. </action>

3.js获取json数据分页显示

  1. function getJSONData(pn) {
  2. // alert(pn);
  3. $.getJSON("blackList.ce", function(data) {
  4. var totalCount = data.totalCount; // 总记录数
  5. var pageSize = 10; // 每页显示几条记录
  6. var pageTotal = Math.ceil(totalCount / pageSize); // 总页数
  7. var startPage = pageSize * (pn - 1);
  8. var endPage = startPage + pageSize - 1;
  9. var $ul = $("#json-list");
  10. $ul.empty();
  11. for (var i = 0; i < pageSize; i++) {
  12. $ul.append('<li class="li-tag"></li>');
  13. }
  14. var dataRoot = data.jsonRoot;
  15. if (pageTotal == 1) { // 当只有一页时
  16. for (var j = 0; j < totalCount; j++) {
  17. $(".li-tag").eq(j).append("<span class='col1'><input type='checkbox' value='"+parseInt(j + 1)+"'/></span>")
  18. .append("<span class='col2'>" + parseInt(j + 1)
  19. + "</span>").append("<span class='col3'>" + dataRoot[j].mobile
  20. + "</span>").append("<span class='col4'>" + dataRoot[j].province
  21. + "</span>").append("<span class='col5'>" + dataRoot[j].gateway
  22. + "</span>").append("<span class='col6'>" + dataRoot[j].insertTime
  23. + "</span>").append("<span class='col7'>" + dataRoot[j].remark
  24. + "</span>")
  25. }
  26. } else {
  27. for (var j = startPage, k = 0; j < endPage, k < pageSize; j++, k++) {
  28. if( j == totalCount){
  29. break; // 当遍历到最后一条记录时,跳出循环
  30. }
  31. $(".li-tag").eq(k).append("<span class='col1'><input type='checkbox' value='"+parseInt(j + 1)+"'/></span>")
  32. .append("<span class='col2'>" + parseInt(j + 1)
  33. + "</span>").append("<span class='col3'>" + dataRoot[j].mobile
  34. + "</span>").append("<span class='col4'>" + dataRoot[j].province
  35. + "</span>").append("<span class='col5'>" + dataRoot[j].gateway
  36. + "</span>").append("<span class='col6'>" + dataRoot[j].insertTime
  37. + "</span>").append("<span class='col7'>" + dataRoot[j].remark
  38. + "</span>")
  39. }
  40. }
  41. $(".page-count").text(pageTotal);
  42. })
  43. }
  44. function getPage() {
  45. $.getJSON("blackList.ce", function(data) {
  46. pn = 1;
  47. var totalCount = data.totalCount; // 总记录数
  48. var pageSize = 10; // 每页显示几条记录
  49. var pageTotal = Math.ceil(totalCount / pageSize); // 总页数
  50. $("#next").click(function() {
  51. if (pn == pageTotal) {
  52. alert("后面没有了");
  53. pn = pageTotal;
  54. } else {
  55. pn++;
  56. gotoPage(pn);
Technorati 标签: json数据
  1. }
  2. });
  3. $("#prev").click(function() {
  4. if (pn == 1) {
  5. alert("前面没有了");
  6. pn = 1;
  7. } else {
  8. pn--;
  9. gotoPage(pn);
  10. }
  11. })
  12. $("#firstPage").click(function() {
  13. pn = 1;
  14. gotoPage(pn);
  15. });
  16. $("#lastPage").click(function() {
  17. pn = pageTotal;
  18. gotoPage(pn);
  19. });
  20. $("#page-jump").click(function(){
  21. if($(".page-num").val() <= pageTotal && $(".page-num").val() != ''){
  22. pn = $(".page-num").val();
  23. gotoPage(pn);
  24. }else{
  25. alert("您输入的页码有误!");
  26. $(".page-num").val('').focus();
  27. }
  28. })
  29. $("#firstPage").trigger("click");
  30.  
  31. })
  32. }
  33. function gotoPage(pn) {
  34. // alert(pn);
  35. $(".current-page").text(pn);
  36. getJSONData(pn)
  37. }
  38.  
  39. $(function() {
  40. getPage();
  41. })

原文地址:http://blog.csdn.net/linbooooo1987/article/details/7431098

基于Jquery+Ajax+Json实现分页显示的更多相关文章

  1. 基于Jquery+Ajax+Json+高效分页

    摘要 分页我相信大家存储过程分页已经很熟悉了,ajax更是耳熟能详了,更别说我们的json,等等. 如果说您没用过这些东东的话,我相信看完这篇博文会对您有帮助的,,如果有任何问题不懂或者有bug没问题 ...

  2. 基于Jquery+Ajax+Json+存储过程 高效分页

    在做后台开发中,都会有大量的列表展示,下面给大家给大家分享一套基于Jquery+Ajax+Json+存储过程高效分页列表,只需要传递几个参数即可.当然代码也有改进的地方,如果大家有更好的方法,愿留下宝 ...

  3. jQuery +ajax +json+实现分页

    正文 首先我们创建一般处理程序,来读取数据库中内容,得到返回值. 创建文件,GetData.ashx. 我这里是用的存储过程,存储过程会再下面粘出来,至于数据只是实例,你们可根据需求自行读取数据 代码 ...

  4. Javascript实例技巧精选(6)—滚动鼠标中键读取Json数据分页显示网页内容

    >>点击这里下载完整html源码<< 截图如下: 滚动鼠标中键读取Json数据分页显示网页内容,关键的Javascript如下: <script type="t ...

  5. php+jquery+ajax+json简单小例子

    直接贴代码: <html> <title>php+jquery+ajax+json简单小例子</title> <?php header("Conte ...

  6. 如何构建ASP.NET MVC4&JQuery&AJax&JSon示例

    背景: 博客中将构建一个小示例,用于演示在ASP.NET MVC4项目中,如何使用JQuery Ajax. 步骤: 1,添加控制器(HomeController)和动作方法(Index),并为Inde ...

  7. 练习 jquery+Ajax+Json 绑定数据 分类: asp.net 练习 jquery+Ajax+Json 绑定数据 分类: asp.net

    练习 jquery+Ajax+Json 绑定数据

  8. Jquery+ajax+json+servlet原理和Demo

    Jquery+ajax+json+servlet原理和Demo 大致过程: 用户时间点击,触发js,设置$.ajax,开始请求.服务器响应,获取ajax传递的值,然后处理.以JSON格式返回给ajax ...

  9. 基于jquery的json转table插件jsontotable

    分享一款基于jquery的json转table插件jsontotable.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="container ...

随机推荐

  1. Eclipse自动换行WordWrap插件

    eclipse没有自动换行功能,需要安装插件wordwrap,方法请自行百度,可以参考下面的方法: http://jingyan.baidu.com/article/ce09321b7ba7042bf ...

  2. sql 数据字段类型

    bit    整型 bit数据类型是整型,其值只能是0.1或空值.这种数据类型用于存储只有两种可能值的数据,如Yes 或No.True 或False .On 或Off. 注意:很省空间的一种数据类型, ...

  3. 获取文件路径 分类: WinForm 2014-07-25 14:27 103人阅读 评论(0) 收藏

    //可获得当前执行的exe的文件名. string str1 =Process.GetCurrentProcess().MainModule.FileName; //获取和设置当前目录(即该进程从中启 ...

  4. Android Layout布局文件里的android:layout_height等属性不起作用

    有的时候,我们配置好的布局文件,在加载完成添加到我们的Activity中后发现,并没有安装我们设置的属性 来布局,比为我们设置了android:layout_marginTop="100di ...

  5. 基于NPOI开源框架写的ExcelHelper【转载】

    namespace ExcelTest { using System; using System.Collections.Generic; using System.Data; using Syste ...

  6. 【BZOJ1833】【ZJOI2010】数字计数 数位DP

    链接: #include <stdio.h> int main() { puts("转载请注明出处[辗转山河弋流歌 by 空灰冰魂]谢谢"); puts("网 ...

  7. Kruskal算法模拟讲解

    Kruskal 算法是一个求最小生成树的算法,即求最小的开销等 算法可以这样,要求得最小生成树,那么n个节点只能包括n-1条边 所以我们应该转换为寻找这最短的n-1条边,因此,可以先对所有的 边进行从 ...

  8. ios-点击屏幕,隐藏键盘

    ios-点击屏幕,隐藏键盘 - (void)getFirstRegist{ //结束键盘编辑 __weak typeof(self)weakSelf = self; UITapGestureRecog ...

  9. [转] Node.js 服务端实践之 GraphQL 初探

    https://medium.com/the-graphqlhub/your-first-graphql-server-3c766ab4f0a2#.n88wyan4e 0.问题来了 DT 时代,各种业 ...

  10. css 权威指南笔记(三)结合css和XHTML

    link rel stylesheet alternate stylesheet(候选样式表) title type media all screen print ..... 内联样式