Spring 框架 - 相同类型的多个模型属性
Spring Framework - Multiple ModelAttributes of Same Type
我正在处理需要送货地址和账单地址的结帐页面。这与第三方库集成,第三方库将它们都实现为相同类型:地址。我需要做的是:
@RequestMapping(method = RequestMethod.POST)
@ResponseBody
public Response createOrder(
@ModelAttribute("customer") Customer customer,
@ModelAttribute("shipping") Address shippingAddress,
@ModelAttribute("payment") Payment paymentInformation,
@ModelAttribute("billing") Address billingAddress
) {
// Create the order
}
我对如何将两个完全相同类型的独立模型发送到我的 Spring 应用程序感到困惑,从而使它能够正常工作。我可能会制作立面模型并将它们映射到控制器内部的真实模型,但如果可以避免的话,我宁愿不走那条路。
编辑: 更改了模型属性名称,希望能使问题区域更加清晰。
不是为每种类型创建单独的模型属性,而是创建一个 Order 对象和模型属性 'order.'
//Order class
private Customer customer;
private Address shippingAddress;
private Payment paymentInformation;
private Address billingAddress
..
public Response createOrder(
@ModelAttribute("order") Order order) {
// Create the order
}
然后请求看起来像
shippingAddress.city=foo&billingAddress.city=bar
我正在处理需要送货地址和账单地址的结帐页面。这与第三方库集成,第三方库将它们都实现为相同类型:地址。我需要做的是:
@RequestMapping(method = RequestMethod.POST)
@ResponseBody
public Response createOrder(
@ModelAttribute("customer") Customer customer,
@ModelAttribute("shipping") Address shippingAddress,
@ModelAttribute("payment") Payment paymentInformation,
@ModelAttribute("billing") Address billingAddress
) {
// Create the order
}
我对如何将两个完全相同类型的独立模型发送到我的 Spring 应用程序感到困惑,从而使它能够正常工作。我可能会制作立面模型并将它们映射到控制器内部的真实模型,但如果可以避免的话,我宁愿不走那条路。
编辑: 更改了模型属性名称,希望能使问题区域更加清晰。
不是为每种类型创建单独的模型属性,而是创建一个 Order 对象和模型属性 'order.'
//Order class
private Customer customer;
private Address shippingAddress;
private Payment paymentInformation;
private Address billingAddress
..
public Response createOrder(
@ModelAttribute("order") Order order) {
// Create the order
}
然后请求看起来像
shippingAddress.city=foo&billingAddress.city=bar