0

JSON 内のオブジェクトのコレクションをクライアントに正しく返す Spring コントローラー メソッドがあります。

@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 が必要とする形式 (名前付き配列) でデータを返すにはどうすればよいですか?

編集:変数を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

もう 1 つの TotalDisplayRecords クラスを作成する必要があり、配列 oid クラスを含める必要があります。その後、TotalDisplayRecords オブジェクトを返します。

于 2012-08-15T09:37:39.067 に答える