使用spring或者springboot接收前台复杂参数时,可以创建一个参数类来接收,参数跟接收代码如下
//接收参数的工具类
public class PurchaseRequest {
private PurchaseOrder form; //页面表单,对应采购单信息
private List<PurchaseDetail> table; //采购明细列表
public PurchaseOrder getForm() {
return form;
}
public void setForm(PurchaseOrder form) {
this.form = form;
}
public List<PurchaseDetail> getTable() {
return table;
}
public void setTable(List<PurchaseDetail> table) {
this.table = table;
}
public ArrayList<Object> getTable2Object(int orderId){
ArrayList<Object> result = new ArrayList<>();
for (int i = 0; i < table.size(); i++) {
table.get(i).setOrderid(orderId);
result.add(table.get(i));
}
return result;
}
//前台传参方式
//监听提交
form.on('submit(add)', function(data){
var tableData = table.cache["pdetailList"];
var dataBean = {};
dataBean.form = data.field;
dataBean.table = tableData;
//发异步,把数据提交给后台
$.ajax({
url:getRootPath()+'/purchase/add',
method:'post',
contentType:"application/json",
data:JSON.stringify(dataBean),
dataType:'JSON',
success:function(res){
if(res.code=='1'){
layer.alert("增加成功", {icon: 6},function () {
// 获得frame索引
var index = parent.layer.getFrameIndex(window.name);
//关闭当前frame
parent.layer.close(index);
});
}else{
layer.alert(res.msg, {icon: 6});
}
},
error:function (data) {
}
});
return false;
});
//controller接收
@RequestMapping("add")
public Object add(@RequestBody PurchaseRequest purchaseRequest) throws Exception {
purchaseService.addPurchase(purchaseRequest);
return Layui.success();
}