【问题标题】:How to Convert String to Object in Spring MVC如何在 Spring MVC 中将字符串转换为对象
【发布时间】: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


    【解决方案1】:

    这是一个 JSON 字符串,所以不用担心。您可以在 Google 中搜索,因为有多种方法可以将 JSON 字符串反序列化为对象。

    另一种方法是先从 & 符号拆分字符串,然后再从 = 符号拆分每个组,现在您可以在循环中将该值与您的对象映射。

    【讨论】:

      猜你喜欢
      • 2016-01-02
      • 2019-06-03
      • 2021-02-03
      • 2018-07-19
      • 2019-07-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多