java-如何使用从Spring MVC发送回的JSON对象填充jQuery数据表的行?

提问

我有一个Java(Spring MVC)后端,将POJO作为JSON对象返回,如下所示:

@RequestMapping(value = "/getWidgetsByType", method = RequestMethod.POST)
public @ResponseBody List<WidgetVO> getWidgetsByType(@RequestParam("type") String type)
{
    return widgetDAO.getWidgetsByType(token);
}   

public class WidgetVO {
    private String type;
    private String name;
    private boolean isAwesome;

    // Getters and setters, etc.
}

在前端中,我尝试从jQuery $.getJSON调用中调用/ getWidgetsByType,然后使用从中返回的JSON结果填充datatable.具体地说,我希望数据表出现在< div>中.当前在页面加载时为空的标记,如下所示:

<div id="#table-to-display"></div>

var t = getTypeFromDOM();

$.getJSON(
    url: "/getWidgetsByType",
    data: {
        type: t
    },
    success: function() {
        // How do I extract the JSON version of the List<WidgetVO>'s coming
        // back from the server and use them to populate the table?
        $("#table-to-display").datatable();
    }
);

我希望数据表包含与WidgetVO的字段相同的列(类型,名称,isAwesome),全部作为String值(无渲染器等).

在此先感谢您的任何帮助!

最佳答案

数据表站点中的Example为您提供了所需的所有详细信息.

示例JS代码

$(document).ready(function() {
  $('#example').dataTable( {
    "bProcessing": true,
    "bServerSide": true,
    "sAjaxSource": "scripts/server_processing.php" // for you it will be - /getWidgetsByType
  } );
} );

您的json应该是这样的

{
  "sEcho": 1,
  "iTotalRecords": "57",
  "iTotalDisplayRecords": "57",
  "aaData": [
    [],[],[],...
  ]
}

Here’s示例显示了动态设置列名称.

干杯!!

评论