我正在学习Spring和Spring MVC,主要来自Spring文档和其他论坛,如果我找不到解释,有时会在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对象的对象。
我需要一些方向来解决这个问题。
感谢您的阅读。 感谢你的时间!!!
答案 0 :(得分:2)
如果您拥有此文档的Java架构,则只需将此对象作为参数添加到端点中。所有解组都将由Spring使用Jaxb转换器完成。
所以你会:
public void yourEndpoint(@RequestBody YourObject yourObject) {
...
}
如果你没有在Java中获得xml对象,你可以创建包含你的结构的@XmlRootElement注释的简单POJO:
@XmlRootElement
public YourObject implements Serializable {
...
}