zoukankan      html  css  js  c++  java
  • 基于Jquery+Ajax+Json实现分页显示

    1.后台action产生json数据。

    List blackList = blackService.getBlackInfoList(mobileNum, gatewayid, startDate, endDate);
    int totalRows = blackList.size();
    StringBuffer sb = new StringBuffer();
             sb.append("{"totalCount":""+totalRows+"",");
             sb.append(""jsonRoot":[");
             for (int i=0;i<blackList.size();i++) {
                 LBlack blackInfo = (LBlack)blackList.get(i);
                 sb.append("{"id":""+ blackInfo.getId());
                 sb.append("",");  
                 sb.append(""mobile":""+ blackInfo.getMobile());
                 sb.append("",");  
                 sb.append(""province":""+ blackInfo.getProvince());
                 sb.append("",");  
                 sb.append(""gateway":""+ blackInfo.getGateway());
                 sb.append("",");
                 sb.append(""insertTime":""+ blackInfo.getInsertTime());
                 sb.append("",");
                 sb.append(""remark":""+ blackInfo.getRemark());
                 sb.append(""");
                 sb.append("},");
             }
             sb.deleteCharAt(sb.lastIndexOf(","));  // 删去最后一个逗号
             sb.append("]}");  
             
             HttpServletResponse response = ServletActionContext.getResponse();         
             response.setContentType("text/plain");
             response.getWriter().print(sb);

    2.struts.xml相关配置

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

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

    function getJSONData(pn) {
        // alert(pn);
        $.getJSON("blackList.ce", function(data) {
            var totalCount = data.totalCount; // 总记录数
            var pageSize = 10; // 每页显示几条记录
            var pageTotal = Math.ceil(totalCount / pageSize); // 总页数
            var startPage = pageSize * (pn - 1);
            var endPage = startPage + pageSize - 1;
            var $ul = $("#json-list");
            $ul.empty();
            for (var i = 0; i < pageSize; i++) {
                $ul.append('<li class="li-tag"></li>');
            }
            var dataRoot = data.jsonRoot;
            if (pageTotal == 1) {     // 当只有一页时
                for (var j = 0; j < totalCount; j++) {
                    $(".li-tag").eq(j).append("<span class='col1'><input type='checkbox' value='"+parseInt(j + 1)+"'/></span>")
                    .append("<span class='col2'>" + parseInt(j + 1)
                            + "</span>").append("<span class='col3'>" + dataRoot[j].mobile
                            + "</span>").append("<span class='col4'>" + dataRoot[j].province
                            + "</span>").append("<span class='col5'>" + dataRoot[j].gateway
                            + "</span>").append("<span class='col6'>" + dataRoot[j].insertTime
                            + "</span>").append("<span class='col7'>" + dataRoot[j].remark
                            + "</span>")
                }
            } else {
                for (var j = startPage, k = 0; j < endPage, k < pageSize; j++, k++) {
                    if( j == totalCount){
                        break;       // 当遍历到最后一条记录时,跳出循环
                    }
                    $(".li-tag").eq(k).append("<span class='col1'><input type='checkbox' value='"+parseInt(j + 1)+"'/></span>")
                    .append("<span class='col2'>" + parseInt(j + 1)
                            + "</span>").append("<span class='col3'>" + dataRoot[j].mobile
                            + "</span>").append("<span class='col4'>" + dataRoot[j].province
                            + "</span>").append("<span class='col5'>" + dataRoot[j].gateway
                            + "</span>").append("<span class='col6'>" + dataRoot[j].insertTime
                            + "</span>").append("<span class='col7'>" + dataRoot[j].remark
                            + "</span>")
                }
            }
            $(".page-count").text(pageTotal);
        })
    }
    function getPage() {
        $.getJSON("blackList.ce", function(data) {
                    pn = 1;
                    var totalCount = data.totalCount; // 总记录数
                    var pageSize = 10; // 每页显示几条记录
                    var pageTotal = Math.ceil(totalCount / pageSize); // 总页数
                    $("#next").click(function() {
                                if (pn == pageTotal) {
                                    alert("后面没有了");
                                    pn = pageTotal;
                                } else {
                                    pn++;
                                    gotoPage(pn);
    
    Technorati 标签:
                                }
                            });
                    $("#prev").click(function() {
                                if (pn == 1) {
                                    alert("前面没有了");
                                    pn = 1;
                                } else {
                                    pn--;
                                    gotoPage(pn);
                                }
                            })
                    $("#firstPage").click(function() {
                                pn = 1;
                                gotoPage(pn);
                            });
                    $("#lastPage").click(function() {
                                pn = pageTotal;
                                gotoPage(pn);
                            });
                    $("#page-jump").click(function(){
                        if($(".page-num").val()  <= pageTotal && $(".page-num").val() != ''){
                            pn = $(".page-num").val();
                            gotoPage(pn);
                        }else{
                            alert("您输入的页码有误!");
                            $(".page-num").val('').focus();
                        }
                    })
                    $("#firstPage").trigger("click");
                    
                })
    }
    function gotoPage(pn) {
        // alert(pn);
        $(".current-page").text(pn);
        getJSONData(pn)
    }
    
    $(function() {
        getPage();
    })

    1333678505_7977

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

  • 相关阅读:
    awk应用
    字符串应用,expect预期交互,数组,正则表达式
    for,while循环,case分支,shell函数
    数值运算,if结构
    shell基础应用,变量的扩展应用
    rsync基本用法与配置,split分离解析
    PXE自动装机
    配置DNS服务器
    进程查看,终止
    应用技巧,vim用法,编译安装软件包
  • 原文地址:https://www.cnblogs.com/kt520/p/3662836.html
Copyright © 2011-2022 走看看