【发布时间】:2016-07-17 14:20:52
【问题描述】:
我需要用一个提交按钮提交两个表单,所以我做了JS功能:
var submitAllForms = function(){
var paymentForm = $("#paymentsDetailsForm").serialize();
var orderForm = $("#orderForm").serialize();
$.ajax({
method: "post",
url: "/order",
dataType: 'json',
data: { paymentsDetailsForm : JSON.stringify(paymentForm), orderForm : JSON.stringify(orderForm) },
success: alert('form has been sent')
});
}
有我的表格:
@Data
public class PaymentDetailsForm implements Serializable {
private Date storageDate;
private String paymentMethod;
...
}
@Data
public class OrderForm implements Serializable {
private String company;
private String sizeOfMove;
...
}
有我的控制器:
@RequestMapping(value = "/order", method = RequestMethod.POST)
public ModelAndView handleOrder(String paymentsDetailsForm, String orderForm) {
// How to cast paymentsDetailsForm to PaymentsDetailsForm
// How to cast orderFormto OrderForm
ModelAndView model = new ModelAndView();
model.addObject("paymentsDetailsForm", new PaymentDetailsForm());
model.setViewName("/order");
return model;
}
}
所以在控制器中,参数“orderForm”看起来像:“company=ROYAL_MOVING&sizeOfMove=STUDIO...”
如何将字符串参数转换为 OrderForm 和 PaymentsDetailsForm?或者这个问题(以一种方法提交和处理多个表格)可能会以另一种方式解决?
【问题讨论】:
标签: json spring-mvc jackson gson converter