我正在尝试将一些数据从客户端发送到服务器,并将其处理为文件下载。我正在使用一个简单的 HTML 表单,因为我想初始化文件下载(而不是 AJAX)。其中一个表单字段是一个项目数组。(另外两个是名称和描述字符串)。在提交表单之前,我将此字段序列化为字符串 (JSON.stringify)。
在服务器端,我尝试了一百万种技术(@ModelAttribute 与 @RequestBody,不同的杰克逊映射 bean 配置)将其转换为单一类型或三种单独的类型(字符串 + 字符串 + 列表/数组)。
我发现的示例仅适用于 AJAX ... 谁能提供一个工作示例或一个描述?
=======
更新:我已经通过 JSON.stringify-ing 集合并将其传递到其中一个输入中实现了一种解决方法,并且在服务器端我有:
@RequestMapping(method = RequestMethod.POST, value = "exportSectionsToExcel")
public HttpEntity<byte[]> createExcelWorkBook(@ModelAttribute ExportSectionsListForm exportSectionsListForm) {
Section[] sectionObjects = gson.fromJson(exportSectionsListForm.getSections(), Section[].class);
...
使用仅包含字符串的 ExportSectionsListForm 对象:
public class ExportSectionsListForm {
private String name;
private String url;
private String rssUrl;
private String sections;
...
(omitting ctor, getters and setters)
另外,我发现了这个有希望的链接:http: //viralpatel.net/blogs/spring-mvc-multi-row-submit-java-list/ 但没有尝试过 - 似乎我需要动态生成输入元素使它起作用,但它实际上可能是正确的解决方案。有人试过吗?