Spring MVC:以JSON或XML格式发送表单数据

时间:2013-07-23 12:31:31

标签: spring spring-mvc

我是Spring MVC的新手。挑战是我想将所有JSON或XML格式的表单数据发送到Cotroller方法 Spring MVC是否提供开箱即用的功能?如果没有,那么我将如何在Controller方法中接收所有表单数据?在收到所有表单数据之后,我可以将其转换为JSON或XML。
凭借我有限的经验,我可以在@RequestPrameter的帮助下获得个人价值,但不确定如何在控制器中获得完整数据方法

  

注意:我不想将表单值建模到任何模型对象。只是想收到价值   JSON / XML格式并将其作为clob保存到数据库中。

2 个答案:

答案 0 :(得分:0)

有两种方法可以将完整的表单数据传输到Controller。

  1. 您可以使用request.getParameter(“element_name”);
  2. 使用此方法您不使用Spring MVC的表单元素类属性绑定功能。

    1. 您可以创建HTML表单中存在的元素的POJO类。
    2. 在这种方法中,您无需使用request.getParameter(“element_name”)获取表单的每个值;相反,你会得到填充POJO对象,这可以更方便工作。

      此外,您可以更轻松,更整洁地处理数据类型绑定错误。

      对于表单元素到类属性绑定的参考, 最佳帮助:http://www.mkyong.com/spring-mvc/spring-mvc-form-handling-example/


      根据您的要求,您不能直接获取JSON / XML格式,而是需要调用onSubmit上的javascript函数,然后创建所需表单的JSON / XML,然后您可以提交表单。

答案 1 :(得分:0)

在我看来,实现这个的最好方法是通过http POST请求以json格式发送数据,并在控制器方法中获取它:

    @RequestMapping(method = RequestMethod.POST, value = "/data", headers = "Accept=application/json") 
   @ResponseBody
    public List postData(@RequestBody String data) { {
        ...
        // here for example you can use GSON or Jackson to deserialize json to java instance
    }