columns[0][data]:id
columns[0][name]:
columns[0][searchable]:true
columns[0][orderable]:true
columns[0][search][value]:
columns[0][search][regex]:false
columns[1][data]:name
columns[1][name]:
columns[1][searchable]:true
columns[1][orderable]:true
columns[1][search][value]:
columns[1][search][regex]:false
columns[2][data]:mobile
columns[2][name]:
columns[2][searchable]:true
columns[2][orderable]:true
columns[2][search][value]:
columns[2][search][regex]:false
columns[3][data]:type
columns[3][name]:
columns[3][searchable]:true
columns[3][orderable]:true
columns[3][search][value]:
columns[3][search][regex]:false
order[0][column]:0
order[0][dir]:asc
start:0
length:10
search[value]:
search[regex]:false
前端的数据是这样,不要问为什么要这样传,总会有人需要的
然后springMVC接收方式 在前端将columns[1][search][value]:
columns[1][search][regex] 这种多维的降低一级
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);
}
public class Columns {
private Integer draw;
private Integer start;
private Integer length;
private Map<Search, String> search = new HashMap<Search, String>();
private List<Map<Order, String>> order = new ArrayList<Map<Order, String>>();
private List<Map<Column, String>> columns = new ArrayList<Map<Column, String>>();
public Columns() {
}
public enum Search {
value, regex
}
public enum Order {
column, dir
}
public enum Column {
data, name, searchable, orderable, searchValue, searchRegex
}
public Integer getDraw() {
return draw;
}
public void setDraw(Integer draw) {
this.draw = draw;
}
public Integer getStart() {
return start;
}
public void setStart(Integer start) {
this.start = start;
}
public Integer getLength() {
return length;
}
public void setLength(Integer length) {
this.length = length;
}
public Map<Search, String> getSearch() {
return search;
}
public void setSearch(Map<Search, String> search) {
this.search = search;
}
public List<Map<Order, String>> getOrder() {
return order;
}
public void setOrder(List<Map<Order, String>> order) {
this.order = order;
}
public List<Map<Column, String>> getColumns() {
return columns;
}
public void setColumns(List<Map<Column, String>> columns) {
this.columns = columns;
}
}
public RestResponses<List<Patient>> lisss(Columns columns, HttpServletRequest request) {
int recordsTotal = patientService.findCount();
List<Map<Column, String>> listMap = columns.getColumns();
Integer length = columns.getLength();
Integer draw = columns.getDraw();
List<Map<Order, String>> orderMap = columns.getOrder();// 数据库用来排序用的字段
Map<Search, String> searchMap = columns.getSearch();//查询字段属性
Integer start = columns.getStart();
int recordsFiltered = recordsTotal;
RestResponses<List<Patient>> r = new RestResponses<List<Patient>>();
// r.setData(PatientList, draw, recordsTotal, recordsFiltered);
return r;
}