以多部分enctype形式检索多个表单字段参数

时间:2013-06-21 17:53:58

标签: jsp tomcat file-upload

我有2个普通文本字段和1个要上传的上传字段。 Apache Tomcat FileUpload page中建议的getFieldName();似乎只获取input html标记的name属性,而不是输入的参数。

getRelDate = fi.getFieldName();的结果为'date'。

此外,如果我对两个普通文本字段使用getFieldName(),则它们具有相同的结果。

如何获取多个普通文本字段的参数?

Html代码:

<!-- normal text fields -->
<td>Release Date</td>
<td><input type='text' size=30 name='date'></td>

<td>Apple</td>
<td><input type='text' size=30 name='apple'></td>

<!-- upload field -->
<td>Image Upload</td>
<td><input type='file' size=30 name='imagefile'></td>

JSP代码:

String getRelDate   = "";
String getApple     = "";

  try{ 
     // Parse the request to get file items.
     List fileItems = upload.parseRequest(request);

     // Process the uploaded file items
     Iterator i = fileItems.iterator();

     while ( i.hasNext () ) 
     {
        FileItem fi = (FileItem)i.next();

    if ( fi.isFormField () ){
     getRelDate = fi.getFieldName();
     getApple   = fi.getFieldName();
    }

    // Get the uploaded file parameters

    File file2 = new File(filePath,fi.getName());

    fi.write(file2);

    out.println("Uploaded Filename: " + filePath + fi.getName() + "<br>");
    }
}

1 个答案:

答案 0 :(得分:1)

首先,您要遍历表单字段,并为每个表单字段设置 getRelDate getApple的名称该领域。

其次,您要设置字段名称,而不是字段

考虑reading over the documentation for the libraries you try to use

Nutshell是如果它是一个简单的表单字段,请使用getString()返回字段内容。

如果是文件,则上面提供的链接中会详细介绍几个选项。