1

我在使用 struts2 上传文件时遇到问题。我有多个文件标签,例如

<s:file name="fileUpload_5534" multiple="multiple"/>

<s:file name="fileUpload_5585" multiple="multiple"/>

<s:file name="fileUpload_5595" multiple="multiple"/>

这些文件标签是动态创建的,并且可以像我指定的那样再次上传多个文件multiple="multiple"。任何人都可以建议这种上传的解决方案。

4

1 回答 1

1

您可以使用此处所述从单个<s:file>元素上传多个文件。multiple="multiple"

您还可以<s:file>以相同的方式从许多元素上传多个文件(每个元素允许一个文件),处理<s:file>s 的名称以指向 Action 上的列表。

您真的要上传ListsLists of Files 吗?

如果是,我建议您对MyFileListObject包含所需数据列表的对象进行建模,例如:

class MyFileListObject {
    private List<File> files;
    private List<String> filesContentType;
    private List<String> filesFileName;    

    /* getters and setters */
}

然后List<MyFileListObject>通过Action暴露一个。

或者,您可以更细化它,定义一个新对象,例如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 */
}

然后List<MyFileListObject>通过Action暴露一个。

但这对我来说似乎有点过头了......哪种页面应该让许多<input type="file"/>人在一个帖子中上传许多文件?

于 2013-10-01T13:08:49.487 回答