【问题标题】:how to load complex object in POST request using Spring MVC如何使用 Spring MVC 在 POST 请求中加载复杂对象
【发布时间】:2014-01-15 06:45:14
【问题描述】:

我主要从 Spring 文档和其他论坛学习 Spring 和 Spring MVC,如果找不到解释,有时会在 stackoverflow 中提问。

我了解当用户提交表单时如何加载对象。 我学会了使用模型属性。

但我没有找到解释或简要介绍尝试加载复杂对象时如何进行的示例。

为了更好地理解这个概念,我想出了一个问题,我正在尝试使用 Spring MVC 找到解决方案

当用户点击提交时,页面会以 XML 格式向服务器发送信息。 我试图给出 xml 的高级结构。

<xml>
<fileOne>
  <filename>posttoserver</filename>
  <totalpages>2</totalpages>
  <pageList>
    <page>
      <number>1</number>
      <url>/doc/part/1.jpg</url>
      <metadata>
          <information>some information about the page</information>
      </metadata>
    </page>
    <page>
      <number>2</number>
      <url>/doc/part/2.jpg</url>
      <metadata>
          <information>some information about the page</information>
      </metadata>
    </page>
    <page>
      <number>3</number>
      <url>/doc/part/3.jpg</url>
      <metadata>
          <information>some information about the page</information>
      </metadata>
    </page>
  </pageList>
</fileOne>
</xml>

我正在尝试将其加载回父对象文件应具有元素 fileName、TotalPages 和 List of Pages 对象的对象。

我需要一些关于如何进行的指导。

感谢您的阅读。 感谢您的时间!!!

【问题讨论】:

    标签: xml forms spring spring-mvc xmlhttprequest


    【解决方案1】:

    如果您有此文档的 Java 架构,您只需将此对象作为参数添加到您的端点中。 Spring 将使用 Jaxb 转换器完成所有解组操作。

    所以你将拥有:

    public void yourEndpoint(@RequestBody YourObject yourObject) {
     ...
    }
    

    如果您还没有在 Java 中获得 xml 对象,您可以创建简单的 POJO,由 @XmlRootElement 注释,包含您的结构:

    @XmlRootElement
    public YourObject implements Serializable {
      ...
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-11
      相关资源
      最近更新 更多