0
jqueryデータ型へのAjaxレスポンスの一部としてLocaldateを渡す必要があります。 LocalDateフィールドに値が表示されません。代わりに、[object、Object]を出力します。明らかに、LocalDateはデシリアライズされていませんでした。 Localdateをdeserializeして適切に表示する方法を説明してください。AjaxレスポンスでLocalDateが解析されない
var table = $("#example").DataTable({
"bProcessing" : true,
"bServerSide" : true,
"sAjaxSource" : "jsonSource.web",
"aoColumns" : [
{
"mData" : "name"
}, {
"mData" : "position"
}, {
"mData" : "office"
}, {
"mData" : "phone"
}, {
"mData" : "salary"
}, {
"mData" : "dob"
}
],
columnDefs : [ {
targets : [ 5 ],
render : function(data, type, row) {
var json = JSON.stringify(data);
var date = JSON.parse(json);
console.log("json: " + json + "date : " + row);
return data;
}
}
} ]
});
サーバーサイドコード:
@RequestMapping(value = "/springPaginationDataTables.web", method = RequestMethod.GET, produces = "application/json")
public @ResponseBody String springPaginationDataTables(HttpServletRequest request) throws IOException {
//Fetch search parameter
String searchParameter = request.getParameter("sSearch");
final String sortColumn = request.getParameter("iSortCol_0");
final String sortOrder = request.getParameter("sSortDir_0");
//Fetch Page display length
Integer pageDisplayLength = Integer.valueOf(request.getParameter("iDisplayLength"));
//Fetch the page number from client
Integer pageNumber = 0;
if (null != request.getParameter("iDisplayStart"))
pageNumber = (Integer.valueOf(request.getParameter("iDisplayStart"))/pageDisplayLength)+1;
System.out.println("sSearch : "+searchParameter);
System.out.println("pageDisplayLength : "+pageDisplayLength);
System.out.println("pageNumber : "+pageNumber);
System.out.println("iSortCol_0 : "+sortColumn);
System.out.println("sSortDir_0 : "+sortOrder);
List<Person> personsList = new ArrayList<Person>();
Person person2 = new Person();
person2.setName("John Landy");
person2.setPosition("System Architect");
person2.setSalary("$320,800");
person2.setOffice("NY");
person2.setPhone("999999999");
person2.setStart_date("05/05/2010");
person2.setDob(LocalDate.parse("1989-07-09"));
personsList.add(person2);
//apply server side search
//apply server side sort
//BuildDataTable object
PersonJsonObject personJsonObject = new PersonJsonObject();
//Set Total display record
personJsonObject.setiTotalDisplayRecords(500);
//Set Total record
personJsonObject.setiTotalRecords(500);
personJsonObject.setAaData(personsList);
Gson gson = new GsonBuilder().setPrettyPrinting().create();
String json2 = gson.toJson(personJsonObject);
return json2;
}
に_ "明らかに、それはLOCALDATEがデシリアライズされていなかったことを意味する。" _ - あなたはかなりわかりませんまだその結論を引き出すことはできない。オブジェクトが初期オブジェクトの内部にネストされている可能性があります。この場合、デシリアライズされましたが、JavaScriptでオブジェクトとして参照すると同じ結果が得られます。あなたの 'render:function()...'関数で 'console.log(data);'が返るのは何ですか? – War10ck
こんにちは、ありがとう。 [オブジェクト、オブジェクト] を出力します。var json = JSON.stringify(data); \t \t \t \t \t var date = JSON.parse(json); console.log( "json:" + json + "date:" + data); 出力: \t \t \t \t \t JSON:{ "年":1989、 "月":1、 "日":10}日付:[オブジェクトのオブジェクト] – Surinder