ajax向springmvc 传递数组

这里面对的使用情景是:后台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]:[email protected]
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> data = new ArrayList<>();

    public List> getData() {
        return data;
    }

    public void setData(List> data) {
        this.data = data;
    }
}

Datatable传参

接收参数打印

DTKVVO{size:1,0:{tableNameZh:dd,tableName:dd}}

 

你可能感兴趣的:(springMVC)