使用SpringMVC從前端js向後臺Controller轉遞陣列
阿新 • • 發佈:2019-01-26
通過非同步請求$.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);
}