我在使用struts2上传文件时遇到问题。我有多个文件标签,如
<s:file name="fileUpload_5534" multiple="multiple"/>
<s:file name="fileUpload_5585" multiple="multiple"/>
<s:file name="fileUpload_5595" multiple="multiple"/>
这些文件标签是动态创建的,并且可以再次上传多个文件,因为我已指定multiple="multiple"
。任何人都可以建议这种上传的解决方案。
答案 0 :(得分:1)
您可以从单个<s:file>
元素with multiple="multiple"
like described here上传多个文件。
您还可以以相同的方式从多个<s:file>
元素(每个元素允许一个文件)上传多个文件,处理<s:file>
的名称以指向列表上的动作。
您真的想要上传List
个Lists
File
的 {/ 1}}吗?
如果是,我建议你建模一个对象,如MyFileListObject
,其中包含所需数据列表:
class MyFileListObject {
private List<File> files;
private List<String> filesContentType;
private List<String> filesFileName;
/* getters and setters */
}
然后通过Action公开List<MyFileListObject>
。
或者,您可以更多地对其进行粒化,定义一个新对象,例如MyFileObject
,
class MyFileObject {
private File files;
private String filesContentType;
private String filesFileName;
/* getters and setters */
}
,列于MyFileListObject
:
class MyFileListObject {
private List<MyFileObject> files;
/* getter and setter */
}
然后通过Action公开List<MyFileListObject>
。
但对我来说这似乎有点过分了......哪种页面应该让很多<input type="file"/>
在一个帖子中上传多个文件?