我的表单是这样的
  <form onsubmit="document.f.submit()"  method="POST" action="servlet/insertmusic"   
  enctype="multipart/form-data">
  <table align="center">
  <tr><td align="center">歌曲名字:</td></tr>
  <tr><td align="center"><input type="TEXT" name="bt"></td></tr>
  <tr><td align="center"><input type="file" name="fn" size=10/></td></tr>
  <tr><td align="center"><input type="submit" value="上传"/></td></tr>
  </table>
  </form>
     提交之后  在servlet里面 这样取值嘛:request.getParameter("bt");
可是取出来的是null   我知道是enctype="multipart/form-data"的原因,有这个就取不到值,
   但是我这个程序是用来上传文件的,必须要有这个啊..
      各位大哥们...要怎么才能在我的servlet顺利取到<input type="TEXT" name="bt">的值呢?
  谢谢了...  

解决方案 »

  1.   

    下载jspsmartupload组件,内置了Request对象,这个类的功能等同于JSP内置的对象request。只所以提供这个类,是因为对于文件上传表单,通过request对象无法获得表单项的值,必须通过jspSmartUpload组件提供的Request对象来获取。
      

  2.   

    或者在提交的时候用JS取得各参数的值然后传进servlet
      

  3.   

    这种方式:enctype="multipart/form-data"
    必须用HashMap取值
      

  4.   

    在表单里加一个<input type="hidden">
      

  5.   

    我下载了 jspsmartupload的哈 还把它已经用在了 上传程序里
      上传也是成功的哈
        但现在就是 想去那个表单里面的值...
    我按以上思想去试试吧...
          不过大家可以给点代码啊...
    具体怎么取嘛..??
      

  6.   

    在表单里加一个<input type="hidden">,绝对可以的
      

  7.   

    刚试了下jspsmartupload里面的Request对象..
      叫我初始化..怎么初始化呢?
    我这样是不对的:Request rq=new Request();
      

  8.   

    SmartUpload mySmartUpload = new SmartUpload(); String bt= mySmartUpload.getRequest().getParameter("bt");
     必须要先实例化一个smartupload对象,然后利用上面的代码便可!
    我就是这么使用的,可以获得正常值