java - 与其他字段一起上传文件

标签 java html jsp servlets file-upload

我有一个带有 enctype="multipart/form-data" 的 Html 表单。我有一个 dto 类,它具有所有 setter 和 getter。由于我以 multipart 形式提交表单,getParameter() 方法将不起作用,因此在 servlet 中我使用了如下 List,

List<FileItem> items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request);
for (FileItem item : items) {
if (item.isFormField()) {
    // Process regular form field (input type="text|radio|checkbox|etc", select, etc).
    String fieldname = item.getFieldName();
    String fieldvalue = item.getString();
    // ... (do your job here)
    //getters and setters

} else {
    // Process form file field (input type="file").
    String fieldname = item.getFieldName();
    String filename = FilenameUtils.getName(item.getName());
    InputStream filecontent = item.getInputStream();
    // ... File uploading code
}
} 

这里我的问题是如何在 for 循环中调用 getter 和 setter。我认为这里应该是单个语句,通过 for 循环应用于所有参数。谁能帮我解决这个问题。

最佳答案

您可以使用诸如Apache Commons BeanUtils之类的库,例如:

if (item.isFormField()) {
    // Process regular form field (input type="text|radio|checkbox|etc", select, etc).
    String fieldname = item.getFieldName();
    String fieldvalue = item.getString();

    BeanUtils.setProperty(dto, fieldname, fieldvalue);
}

关于java - 与其他字段一起上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22905422/

相关文章:

java - 输入/输出流是否在销毁时关闭?

java - 如何在远程服务器上启动 java socket-server

java - 如何确保Android应用程序的appium中的点击功能有效?

html - 页脚不停留在一个地方,包装消失

java - 使用java从Excel文件的列中删除HTML标签

javascript - 将 javascript 值插入表单字段

php - 重定向后 session 丢失(仅限实时服务器)

jsp - 如何保护jsp页面不被开源

java - jsp转java代码后乱码如何解决

java - jsp中如何导入外部js文件