關於 FormData 物件陣列傳值總結
jQuery
Java
Spring MVC
jQuery 程式碼
提示: Ncr 已經存在於實體類中。
// 提交資料
$(`#submit-btn`).click(function(){
// 資料獲取
var formData = {};
var inputNum = $(`.form-horizontal label`).length;
// 判斷控制元件型別,以 formData 物件的形式向後臺傳資料
for(var i=0;i<inputNum;i++){
formData[`ncr[`+i+`].field`] = $(`.form-horizontal label`).data(`code`);
if(type = "input"){
formData[`ncr[`+i+`].inner`] = $(`.form-horizontal .input-delete`).eq(i).children().val();
}else if(type = "select"){
var myStr = $(`.form-horizontal .input-delete`).eq(i).children().val().join("-");
formData[`ncr[`+i+`].inner`] = myStr;
}else if(type = "sort"){
var myStr2 = $(`.form-horizontal .input-delete`).eq(i).children().val().split(",").join("-");
formData[`ncr[`+i+`].inner`] = $(`.form-horizontal input`).val();
}
}
});
在實體類中建立 Ncr List集合
private List<Ncr> ncr;
public List<Ncr> getNcr() {
return ncr;
}
public void setNcr(List<Ncr> ncr) {
this.ncr = ncr;
在Ncr.java List 集合中新增例項
public class Ncr {
private String field;
private String inner;
public String getField() {
return field;
}
public void setField(String field) {
this.field = field;
}
public String getInner() {
return inner;
}
public void setInner(String inner) {
this.inner = inner;
}
}
在 controller 中呼叫
@RequestMapping(value = "recive")
@ResponseBody
public Map<String, Object> recive(Ncr entity) {
}
資料型別
{ncr[0].field:"name",ncr[0].inner:"fz",ncr[1].field:"age",ncr[1].inner:"24"}