1. 程式人生 > >使用SpringMVC從前端js向後臺Controller轉遞陣列

使用SpringMVC從前端js向後臺Controller轉遞陣列

通過非同步請求$.post(URL,params,function(){}),向Controller傳遞陣列型引數,接收不到,當引數型別寫為String、String[]、Object[]時,獲取的引數都為null,當型別為Object時才能獲取到,但是不清楚解析成想要的陣列格式。

現在的目的是params中是什麼型別的陣列,再後臺控制層Controller中方法引數就寫什麼型別,獲取到什麼型別。

假如params中存放的是int[]陣列,即(js程式碼):

var idsArray = new Array();

idsArray.push(0);

idsArray.push(1);

idsArray.push(2);

var params = {"ids":idsArray};

$.post(url,params,function(){});

Java Controller中使用註解@RequestParam即可解決該問題,value值為js中params陣列引數名加[],如下:

@RequestMapping("/訪問地址")

public void test(@RequestParam(value="ids[]")int[] ids){

    for(int id : ids) System.out.println("id = "+id);

}