while (it.hasNext()) {//循环页面所有元素
     FileItem fi = (FileItem) it.next();
     if (!fi.isFormField()) {//忽略file类型以外的form类型元素(诸如text)
          //是html的file元素,这里处理
     }
     else {//html页面除file之外的其它元素,在这里处理
          String fieldName = fi.getFieldName();
          System.out.println("The form field name is :" + fieldName);
          if (fieldName != null && fieldName.trim().equals("fileDec")) {
                String fileDec = fi.getString();//通过getString得到元素的value值
          }         .................
}

解决方案 »

  1.   

    首先在jsp页面上建2个form
    <form name=form1>其他信息,如<input type=text name=name></form>
    <form name=form2 method=post>
    <input type=file name=upload>
    <input type=hidden name=name>//用来储存form1中的信息,具体在javascript中实现
    <input type=button onclick="javascript:upload()">
    </form>
    下面是javascript中的内容
    <script language="javascript">
    function upload()
    {
    document.form2.name.value=document.form1.name.value;//获得form1中的信息
    document.form2.action="/servlet的名字?name="+document.form2.name.value;//一定要通过这种形式传参数
    }
    </script>
    然后在servlet端通过String name = request.getParameter("name");可以获得;我前些天刚做过,应该没问题
      

  2.   

    一个form就可以了.<form action="/***" enctype="multipart/form-data" method="post">
      <input type="text" name="userid" value=""></fomr>需要注意的是,没必要用request的去取值,对应的actionform里面用userid 属性.
      

  3.   

    加一句
    struts famework会自动将userid的值赋到form里头。