0

我有一个多部分的帖子表单,要求用户在文本字段中输入一些基本信息。用户可以选择上传视频文件或输入 youtube 链接。

我让上传部分工作,我正在使用 ServletFileUpload 将文件保存到服务器,然后将其上传到 S3。我在如何从表单的文本字段中获取值而不经过许多循环并检查字段名称以尝试将它们与值对象的字段匹配时遇到问题。

例子:

假设我有实体文件:

public class Video {
 private String name;
 private String url;
 private String description;
 private Video() {}

 public Video(String, String, String) {
  this.field = value; ...
 }
}

形式是这样的:

<form method="POST" action="/member/uploadVideo" enctype="multipart/form-data">
<input name="name" type='text'/>
<input name="file" type='file'/>
<input name="url" type='text'/>
<input name="description" type='text'/>
</form>

在后端,我正在做这样的事情:

 for (Object item : items) {
        fileItem = (FileItem) item;
        if (fileItem.isFormField()) {
            logger.info(fileItem.getName() +  " : " + fileItem.getString());
        } else if (!fileItem.isFormField() && (fileItem.getName() != null && !fileItem.getName().isEmpty())) {
            uploadedFile = fileItem;
        }
    }

如何轻松获取文本字段值并创建新的 Video() 而无需循环并执行 ifs 以查看字段名称是否与 Video() 的字段匹配?

4

1 回答 1

1

一种方法(不是最好的方法)是将表单字段值保存到 hashmap,然后使用一种方法使用该 hashmap 重建值对象。

于 2013-07-12T14:55:47.190 回答