这里面对的使用情景是:后台springmvc,前台jquery datatable+datatable editor
datatable editor向后台传递参数是这样的
编辑的参数:
action:edit
data[row_23][position]:Pre-Sales Supportt
添加的参数:
action:create
data[0][first_name]:单独
data[0][last_name]:d
data[0][position]:d
data[0][office]:d
data[0][extn]:
data[0][start_date]:
data[0][salary]:
删除的参数:
action:remove
data[row_4][DT_RowId]:row_4
data[row_4][first_name]:Cedric
data[row_4][last_name]:Kelly
data[row_4][position]:Senior Javascript Developer
data[row_4][email]:c.kelly@datatables.net
data[row_4][office]:Edinburgh
data[row_4][extn]:6224
data[row_4][age]:22
data[row_4][salary]:433060
data[row_4][start_date]:2012-03-29
1、这里先考虑id字段是数字的情况
dataTable Editor提交的参数是
{
data:{
0:{"column":"name","dir":"asc"},
1:{"column":"phone","dir":"desc"}
}
}
经过 jquery深度序列化后,向springmvc提交的参数:
'data[0][column]':'name',
'data[0][dir]':'asc',
'data[1][column]':'phone',
'data[1][dir]':'desc'
springmvc需要使用一个class来接收这些参数这样定义
public Tip save(MyTableEditorVo vo){
public class MyTableEditorVo extends AbstractEditorVo {
private String action;
public String getAction() {
return action;
}
public void setAction(String action) {
this.action = action;
}
private List<Map<String,Object>> data = new ArrayList<>();
public List<Map<String,Object>> getData() {
return data;
}
public void setData(List<Map<String,Object>> data) {
this.data = data;
}
}
Datatable传参
接收参数打印
DTKVVO{size:1,0:{tableNameZh:dd,tableName:dd}}