я новичок в таблице данных. Я использую datatable fn serverparam с пружинным mvc, но не могу получить правильный вывод.чтобы увидеть вывод в моем jsp
Мой код DataTable
function showData()
{
var application_name=document.getElementById("appname").value;
var loc =document.getElementById("location").value;
var fromDate =document.getElementById("datepickerfrom").value;
var toDate =document.getElementById("datepickerto").value;
alert(application_name+"=="+loc+"=="+fromDate+"=="+toDate);
table = $('#example').dataTable({
"bPaginate": true,
"order": [ 0, 'asc' ],
"bInfo": true,
"iDisplayLength": 10,
"iDisplayStart": 0,
"bProcessing" : true,
"bServerSide" : true,
"sAjaxSource" :"showAllAppData",
"fnServerData": function ( sSource, aoData, fnCallback ) {
/* Add some extra data to the sender */
aoData.push( {"name": "appname", "value": application_name} );
aoData.push( {"name": "location", "value": loc} );
aoData.push( {"name": "fromDate", "value": fromDate} );
aoData.push( {"name": "toDate", "value": toDate} );
$.getJSON( sSource, aoData, function (json) {
/* Do whatever additional processing you want on the callback, then tell DataTables */
alert( JSON.stringify(json));
fnCallback( JSON.stringify(json))
} );
},
"paging" : true,
"pageLength" : 5,
"ordering" : true,
"dom": 'C<"clear">lfrtip',
colVis: {
"align": "right",
restore: "Restore",
showAll: "Show all",
showNone: "Show none",
order: 'alpha',
"buttonText": "columns <img src=\"/datatableServersideExample/images/caaret.png\"/>"
},
"language": {
"infoFiltered": ""
},
"dom": 'Cf<"toolbar"">rtip',
})
.columnFilter({
aoColumns: [
{ type: "number"},
{ type: "text" },
{ type: "text" },
{ type: "text" },
{ type: "text" },
{ type: "text" },
],
bUseColVis: true
}).fnSetFilteringDelay();
$("#personTable_length").hide();
$("div.toolbar").append('<div class="btn-group" style="padding:5px "><button class="btn btn-default" id="refreshbtn" style="background:none;border:1px solid #ccc;height:30px" type="button"><span class="glyphicon glyphicon-refresh" style="padding:3px"></span></button></div>');
$("div.toolbar").css("float","right");
$('#refreshbtn').click(function(){
table.fnStandingRedraw();
});
}
выше, я передаю данные на серверную сторону, используя fnserverData
мой контроллер srping
@RequestMapping(value="/showAllAppData",method=RequestMethod.GET)
@ResponseBody
public void showErrorData(@ModelAttribute("Execution") ExecutionDataDetails lineResp,
Model model,HttpServletRequest re,HttpServletResponse res) throws IOException
{
HttpSession se= re.getSession();
JSONObject jsonObj= new JSONObject();
Map<String,Object> result=new HashMap<String,Object>();
String userName=(String)se.getAttribute("userName");
String appname = (String)re.getAttribute("appname");
String location = (String)re.getAttribute("location");
String fromDate = (String)re.getAttribute("fromDate");
String toDate = (String)re.getAttribute("toDate");
JSONArray array = new JSONArray();
List<ExecutionDataDetails>
allAppData=allAppService.getAllAppData(lineResp);//getting data from DAO
for(ExecutionDataDetails ex :allAppData)//iterating data and assing to JSONarray
{
JSONArray ja = new JSONArray();
ja.put( ex.getAppname());
ja.put(ex.getPageName());
ja.put(ex.getLocation());
ja.put(ex.getAvailability());
ja.put(ex.getResponseTime());
ja.put( ex.getTimeValue());
array.put(ja);
}
jsonObj.put("iTotalRecords", allAppData.size());
jsonObj.put("iTotalDisplayRecords", allAppData.size());
jsonObj.put("aaData", array);
PrintWriter out = res.getWriter();
res.setContentType("application/Json");
out.print(jsonObj);
}
пока я возвращаю данные в js, я получаю неопределенное исключение длины
заранее спасибо