我写了两个jsp文件,第一jsp页面是写有form 表单(有上传附件功能)  第二个jsp页面是负责接受form 表单数据   为什么我的form中的 method 属性 改为"post"后   第二个jsp页面就无法接收到数据了呢?  如果method 属性为"get" 就能接收到!   因为需要文件上传功能  所以method属性必须为"post"  大家谁知道这是怎么回事啊!!!急!!!!!

解决方案 »

  1.   

    呵呵,form里是不是有enctype="multipart/form-data"这段?public HashMap apacheFileUpload(HttpServletRequest request,String path){
    try {
    DiskFileUpload upload = new DiskFileUpload();

    //存放非文件类属性值
    HashMap map = new HashMap();

    //文件名
    String filename = "";

    //上传路径
    String uploadPath = path; // 解析请求
    try {
    // 允许使用的内存容量
    upload.setSizeThreshold(ThresholdSize);
    //允许文件上传的容量(总)
    upload.setSizeMax(FileSize);
    //设置超过容量存放的硬盘目录
    upload.setRepositoryPath(tempPath);

    List items = upload.parseRequest(request);
    Iterator iter = items.iterator();

    while (iter.hasNext()) {
    FileItem item = (FileItem) iter.next(); if (!item.isFormField()) {
    String name = item.getName(); filename = "" + name.substring(name.lastIndexOf("\\") + 1);

    filename = System.currentTimeMillis() + filename;
    File uploadedFile = new File(uploadPath,filename); item.write(uploadedFile);
    } else {
    map.put(item.getFieldName(), item.getString());
    }
    }
    } catch (Exception e) {
    e.printStackTrace();
    }
    map.put("upfilename", filename);
    return map;
    } catch (Exception e) {
    System.out.println("UploadTools apacheFileUpload:"+e.toString());
    return null;
    }
    }
      

  2.   

    参考下上面这段代码map里记录你form传递过来的ID和值你从map里获取就OK