我在做jsp上传时表单里面有多个属性例如:
<form name="form1" action="xxx.do" enctype="multipart/form-data">
    <input name="name"type="text">
    <INPUT id="file"  type="file" name="file">
     <input name="button" type="button"value="上传">
</form>
我要把文件上传并且把name字段也提交到Action中去,而且我在数据库里要保存name字段和我文件的上传路径,请问高手这个有没有什么好的解决办法?
文件上传我会做,但是就是不知道怎么把表单中的其他属性和文件路径一起在action中得到并且保存!
求救~~~痛苦中~~~~~

解决方案 »

  1.   

    你用的是STRUTS是吗?那跟平时没什么区别的啊,怎么会有那么多苦恼呢?照样平时的方法获取你的参数
      

  2.   

    <input name="button" type="button"value="上传" onclick="do_submit();">
    <script language="javascript">
    function do_submit(){
     var temp = "name="+form1.name.value+"&path="+form1.file.value;
     form1.action = "xxx.do?"+temp;
     form1.submit();
    }
    </script>
      

  3.   

    vacuumboy 我看了你写的可是我表单中的属性很多的,如果都用?传参数我怕会有问题
      

  4.   

    你直接提交FORM,东西就都提交到ACTION里面去了!你照平时取值的方法来做就OK了啊
      

  5.   

    但是由于enctype="multipart/form-data",所以用request.getParameter()方法是得不到参数的。所以就只能用JS实现了。
    不知道是否有更好的方法
      

  6.   

    enctype="multipart/form-data"类型的表单提交的值是不可以直接用JSP的内置对象request对象取值的,因为这是二进制数据,必须使用上传组件附带的Request类,比如(SmartUpload里面的Request类),所以要保存上传文件的其它信息,就要取得上传组件的Request类对象就可以了...取值方法还是:request.getParameter("name");
      

  7.   

    恩,如果你用SmartUpload组件上传文件的话可以通过
    SmartUpload mySmartUpload = new SmartUpload();
    然后通过
    mySmartUpload.getRequest().getParameter("name");来取得你要的参数
      

  8.   

    楼上说的很对,但是你在跳转时xxx.do?加上你要传递的参数即可,我前几天搞定的
      

  9.   

    <!--上传组件-->
    <jsp:useBean id="su" scope="page" class="com.jspsmart.upload.SmartUpload" />
    <%
    String a   = su.getRequest().getParameter("a");
    %>