0

我有一个 Spring 控制器方法,它正确地将 JSON 中的对象集合返回给客户端:

@RequestMapping(value="/admin/rawreads/unknowntags", method=RequestMethod.GET)
public @ResponseBody Collection<RawRead> getRawReadsWithUnknownTag() {
    ....
}

我正在尝试集成一个名为 DataTables 的 jQuery 插件/插件。DataTables 可以为我处理获取数据并在页面中填充表格的异步请求,但是它需要以具有特定名称“aaData”而不是当前格式的数组返回数据:

[{"oid":149452,"date":1233076733000,"readerId":"811210008","recordNo":226,"tagCode":"0103A003C0","reader":null,"guard":null,"checkpoint":null},{"oid":149453,"date":1233076734000,"readerId":"8112100 .... etc]

来自 DataTable 文档的 DataTables 的建议返回格式:

{
 "sEcho": 1,
 "iTotalRecords": "n",
 "iTotalDisplayRecords": "n",
 "aaData": [
 [object1][object2].... etc
 ]
}

如何更改我的 Java 方法以返回 DataTables 所需格式的数据 - 命名数组?

编辑:尝试将 vars 放入 HashMap 服务器端,更接近我需要的东西:

{"iTotalDisplayRecords":3050,"iTotalRecords":3050,"aaData":   
  [{"oid":149452,"date":1233076733000, ...<snip>},{...}]
}
4

2 回答 2

2

为数据表创建一个正确格式的单独类,包含 sEcho、itotalrecords、ittotaldisplayrecords 的字段,然后是一个名为 aaData 的数组。

然后通过 jason 返回此类,然后采用您建议的格式。

class TableDTO
{
 int sEcho;
 int iTotalRecords;
 int itotalDisplayRecords;

 array[] aaData;
}

显然将数据分配给这些字段和适当的访问器等!

于 2012-08-15T09:45:01.840 回答
1

您必须再编写一个 TotalDisplayRecords 类,并且它必须包含数组 oid 类。之后,您返回 TotalDisplayRecords 对象。

于 2012-08-15T09:37:39.067 回答