I\'m really stuck into trying to map my QueryString parameters into my Spring JavaBean Command object here, and I couldn\'t find an answer to my question so far.
I\'
Ok, so I ended up fixing this issue with slightly modifying the parameters sent to the server, to transform the two 3D array of columns into a 2D array. So:
columns[0][search][value]=myvalue
columns[0][search][regex]=false
ended up being:
columns[0][searchValue]=myvalue
columns[0][searchRegex]=false
This is how to do that in Databables:
$('#produtosTable').DataTable({
serverSide: true,
ajax: {
"url": "produtos-source",
"data": function(data) {
planify(data);
}
}
});
function planify(data) {
for (var i = 0; i < data.columns.length; i++) {
column = data.columns[i];
column.searchRegex = column.search.regex;
column.searchValue = column.search.value;
delete(column.search);
}
}
This way I can receive those properties in my Model object using this field:
private List
Just for reference, here is my Controller:
@RequestMapping(value = "/produtos-source", method = RequestMethod.GET)
@ResponseStatus(HttpStatus.OK)
@ResponseBody
public ProdutoTable dataTableRequest(@ModelAttribute DataTableCriterias criterias) {
ProdutoTable produtoTable = produtosService.findProdutos();
produtoTable.setDraw(criterias.getDraw());
return produtoTable;
}
and here is final my DataTableCriterias @ModelAttriute:
public class DataTableCriterias {
private int draw;
private int start;
private int length;
private Map search;
private List
(get/setters omitted)