ming198 发表于 2013-2-7 20:23:23

commons-fileupload组件后 request.getParameter 取值为空的问题

使用commons-fileupload 后,

其表单中放了除“文件域”外的TEXT控件,在Servlet采用request.getParameter()得不到其值。

解决方法1:

用两个表单:

1.一个采用POST提交的文件上传的from


Html代码
<form action="FileUpload" method="post"   
enctype="multipart/form-data" name="form1">   
   
   <input type="file" name="file">   
   <input type="button" name="Submit" value="upload" >   
</form>
<form action="FileUpload" method="post"
enctype="multipart/form-data" name="form1">

   <input type="file" name="file">
   <input type="button" name="Submit" value="upload" >
</form>


2.对该上传文件描述的form,


Html代码
<FORM name="form2" action="" method="get">   
<input type="text" name="name">   
   
<input type="text" name="title">   
</FORM>
<FORM name="form2" action="" method="get">
<input type="text" name="name">

<input type="text" name="title">
</FORM>


3.脚本取form2的值,并添到form1的url中。


Html代码
<SCRIPT>   
   function ok()   
   {   
       var name = form2.name.value;   
   
      var title= form2.title.value;   
       form1.action="FileUpload?name="+name+"&title="+title;   
       form1.submit();   
   }   
   </SCRIPT>
<SCRIPT>
   function ok()
   {
       var name = form2.name.value;

      var title= form2.title.value;
       form1.action="FileUpload?name="+name+"&title="+title;
       form1.submit();
   }
   </SCRIPT>


解决方法2:
得到request:

Java代码
ServletFileUpload upload = new ServletFileUpload(factory);   
try {   
   Listitems = upload.parseRequest(request);   
   for (Iterator i = items.iterator(); i.hasNext();) {   
                FileItem fileItem = (FileItem) i.next();   
                String field = fileItem.getFieldName();   
                if(field.equals("kind")){   
                        kind = fileItem.getString();   
                        continue;   
                }else if(field.equals("id")){   
                         id = fileItem.getString();   
                         continue;   
                }else if(field.equals("topic")){   
                         topic = fileItem.getString();   
                         continue;   
                }
页: [1]
查看完整版本: commons-fileupload组件后 request.getParameter 取值为空的问题