0

很长一段时间以来,我一直在为数据表苦苦挣扎,我需要有人帮助我实现该功能。我已经浏览了大部分数据表站点,但仍然无法弄清楚。

我也在使用 spring-portlet MVC。

这是我的相同脚本。

<script>
        $(document).ready(function() {      

             $('#example').dataTable( {
                    serverSide: true,
                    "bInfo": true,
                    "iDisplayLength":5,
                    "bLengthChange":false,
                    "bFilter": false,
                    "fnRowCallback": function(nRow,aData,iDisplayIndex){

                        $('td:eq(0)', nRow).html('<portlet:renderURL var="serviceSettings"><portlet:param name="action" value="serviceSettings" /><portlet:param name="msisdn" value="'+aData[0]+'"/></portlet:renderURL>'
                       +'<a class="sLinks" href="${serviceSettings}">' +aData[0] + '</a>' );

                        $('td:eq(4)', nRow).html('<portlet:resourceURL var="rechargeHistoryPdf" id="rechargeHistoryPdf"><portlet:param name="msisdn" value="'+aData[0] +'"/></portlet:resourceURL>' + '<a class="has-tooltip" href="#" onclick='+'\'getPdf("${rechargeHistoryPdf}")\''+'  title="View" data-widget="tooltip" data-tip-id="viewTip1" data-tip-position="bottom"><i class="fa fa-search-plus fa-fw"></i>' + '</a>'+
                        '<div id="viewTip1" class="tooltip text-center">View bill for this account</div>' + '<a class="has-tooltip" href="${quickPayUrl}" title="Top Up" data-widget="tooltip" data-tip-id="payTip1" data-tip-position="bottom"><i class="fa fa-credit-card fa-fw"></i>'+ '</a>' + '<div id="payTip1" class="tooltip text-center">Top up for this account</div>' );
                        return nRow;                        
                        },
                    ajax : {
                        url: "${dataTableView}",
                        type: 'POST'
                        }

                    });

                    });


    </script>

我的 JSON 响应来自该类,其代码如下:-

public class DataTablesResponse implements Serializable{
    private static final long serialVersionUID = 1L;

    @JsonProperty(value = "recordsTotal")
    private int totalRecords;
    @JsonProperty(value="recordsDisplay")
    private int displayrecords;
    @JsonProperty(value = "length")
    private int lengthPage;
    @JsonProperty(value="pages")
    private int pages;
    @JsonProperty(value="start")
    private int start;
    @JsonProperty(value="end")
    private int end;
    private String balance;

    public int getTotalRecords() {
        return totalRecords;
    }
    public void setTotalRecords(int totalRecords) {
        this.totalRecords = totalRecords;
    }
    public int getPages() {
        return pages;
    }

    public void setPages(int pages) {
        this.pages = pages;
    }

    public int getStart() {
        return start;
    }

    public void setStart(int start) {
        this.start = start;
    }

    public int getEnd() {
        return end;
    }

    public void setEnd(int end) {
        this.end = end;
    }

    public String getBalance() {
        return balance;
    }

    public int getLengthPage() {
        return lengthPage;
    }
    public void setLengthPage(int lengthPage) {
        this.lengthPage = lengthPage;
    }
    public void setBalance(String balance) {
        this.balance = balance;
    }
    public static long getSerialversionuid() {
        return serialVersionUID;
    }
    public int getDisplayrecords() {
        return displayrecords;
    }

    public void setDisplayrecords(int displayrecords) {
        this.displayrecords = displayrecords;
    }


    @JsonIgnore
    private List<Msisdn> internaldata = new ArrayList<Msisdn>();

    public List<Msisdn> getInternaldata() {
        return internaldata;
    }
    public void setInternaldata(List<Msisdn> data) {
        this.internaldata = data;
    }
    public DataTablesResponse() {
        System.out.println("Inside DataTablsesResponse");
    }

    @JsonProperty(value = "data")
    public List<Object[]> getData() {

        System.out.println("This is the balance amount "+balance);
        List<Object[]> list = new ArrayList<Object[]>();
        for (Msisdn msisdn : internaldata) {
            list.add(new Object[] {msisdn.getMsisdn(),msisdn.getBillingType(),msisdn.getMsisdnStatus(),msisdn.getCurrentBalance(),null});
        }
        //list.add(new Object[] {"total",null,null,balance,null});
        return list;
    }


}

最后一页看起来像这样。JSON响应如下

{"pages":7,"start":0,"end":38,"balance":"1313.015","data":[["98024403","Voice","Active",262.603,null],["98024403","Voice","Active",262.603,null],["98024403","Voice","Active",262.603,null],["98024403","Voice","Active",262.603,null],["98024403","Voice","Active",262.603,null]],"recordsTotal":39,"recordsDisplay":5,"length":5}

Json 通常用 [ 括号打开。

为什么我的页面显示 0 个条目中的 0 个,以及为什么开始按钮不起作用。

如果您需要更多说明,请在评论中添加。

提前致谢。

4

0 回答 0