我真的很想在这里尝试将我的QueryString参数映射到我的Spring JavaBean Command对象中,到目前为止我找不到我的问题的答案.
我正在使用带有服务器端处理的 jQuery Datatables插件,以便我的数据表中的每个操作都会触发对Spring应用程序的AJAX请求.
这是Datatable插件发送到Rest服务的参数:
http://localhost:8080/relatorios/produtos-source?draw=2&columns[0][data]=nome&columns[0][name]=&columns[0][searchable]=true&columns[0][orderable]=true&columns[0][search][value]=&columns[0][search][regex]=false&columns[1][data]=nomesAlternativos&columns[1][name]=&columns[1][searchable]=true&columns[1][orderable]=true&columns[1][search][value]=&columns[1][search][regex]=false&order[0][column]=2&order[0][dir]=asc&start=0&length=10&search[value]=ss&search[regex]=false&_=1400248561282
Run Code Online (Sandbox Code Playgroud)
这就是我在Spring Controller中接收它的方式:
@RequestMapping(value = "/produtos-source", method = RequestMethod.GET)
@ResponseStatus(HttpStatus.OK)
@ResponseBody
public ProdutoTable dataTableRequest(@ModelAttribute DataTableCriterias criterias) {
...
}
Run Code Online (Sandbox Code Playgroud)
最后,这是我的DataTableCriterias JavaBean(由@ModelAttribute指示):
public class DataTableCriterias {
private int draw;
private int start;
private int length;
private Map<SearchCriterias, String> search;
private List<Map<OrderCriterias, String>> order;
private List<Column> columns;
public enum SearchCriterias {
value,
regex
}
public enum OrderCriterias {
column,
dir
}
public class Column {
private String data;
private String name;
private boolean searchable; …
Run Code Online (Sandbox Code Playgroud)