日期:2014-05-18  浏览次数:20753 次

form表单里面文件上传与文本框取值的问题!
代码:
  <form   action= "ProjectApplication.jsp "     method= "post "           name= "form1 "       enctype= "multipart/form-data ">

  <input   name= "ProjectName "   type= "text "   size= "24 "   maxlength= "60 "   />  
  <input   name= "file "   type= "file "     size= "24 ">
    <input   type= "submit "   name= "Submit "   value= "提交 ">    

</form>

ProjectApplication.jsp里面:

                    String     ProjectName=request.getParameter( "ProjectName ");
           
发现无法接收文本框里面的值,取到的都是NULL
但是如果把enctype= "multipart/form-data "   去掉就可以了~~~

有没有什么好的办法让文本框能正常的取值,又能让文件正常上传!??

在线等!!




------解决方案--------------------
如果你用的是SmartUpload可以这么写
<jsp:useBean id= "mySmartUpload " scope= "page "class= "com.jspsmart.upload.SmartUpload " />

String ProjectName=mySmartUpload.getRequest().getParameter( "ProjectName ");
------解决方案--------------------
可以考虑写段js代码,先取到表单中的文件控件,将它赋给表单文本,再提交表单就可以了,你可以试试这种方法。
------解决方案--------------------
不知道你是使用哪个包实现上传的,不过既然使用了控制上传的包,并设置了 form里面 enctype= "multipart/form-data " jsp内建对象request便不能得到表单里面的控件了,要使用包里面相应的对象,如mySmartUpload.getRequest().getParameter( "ProjectName ");
此外,一般地还需要把取到的属性转化为gbk编码,否则会有可能出现乱码的现象
------解决方案--------------------
你用上传文件的类对象取值!