我正在尝试将一些数据从客户端发送到服务器,并将其处理为文件下载。
我使用简单的 HTML 表单,因为我想初始化文件下载(而不是 AJAX)。
其中一个表单字段是一组项目。 (另外两个是名称和描述字符串)。
在提交表单之前,我将此字段序列化为字符串 (JSON.stringify)。
在服务器端,我尝试了一百万种技术(@ModelAttribute 与@RequestBody,不同的 Jackson 映射 bean 配置),将其转换为单一类型或三种单独的类型(String + String + List/Array)。
我找到的例子仅适用于 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/ http://viralpatel.net/blogs/spring-mvc-multi-row-submit-java-list/但没有尝试 - 似乎我需要动态生成输入元素才能使其工作,但它实际上可能是正确的解决方案。有人试过这个吗?