Exemplo n.º 1
0
  private Object doSaveFiles(
      HttpServletRequest req, HttpServletResponse res, MultipartHttpServletRequest httpReq)
      throws Exception {

    String dealClass = httpReq.getParameter("dealclass");
    String pkmessage = httpReq.getParameter("pkmessage");
    if ("null".equals(dealClass)) {
      dealClass = (String) req.getSession().getAttribute("dealclass");
    }
    if ("null".equals(pkmessage)) {
      pkmessage = (String) req.getSession().getAttribute("pkmessage");
    }

    if (dealClass == null) {
      req.setAttribute("message", "获取xls文件处理类失败,请检查参数信息!");
      RequestDispatcher dispatcher =
          getServletContext().getRequestDispatcher("/html/nodes/importbodydata/uploadsuccess.jsp");
      dispatcher.forward(req, res);
    }

    Iterator nameIt = httpReq.getFileNames();
    Map parameterMap = httpReq.getParameterMap();

    MultipartFile file = null;
    while (nameIt.hasNext()) {
      String fileName = (String) nameIt.next();
      logger.debug("get file:" + fileName);
      file = httpReq.getFile(fileName);
      logger.debug("end  file:");
    }

    if (file == null) {

      req.setAttribute("message", "无法获取到上传的文件数据信息,请重新上传数据文件!");
      RequestDispatcher dispatcher =
          getServletContext().getRequestDispatcher("/html/nodes/importbodydata/message.jsp");
      dispatcher.forward(req, res);
    }

    String message = "";
    try {
      Object obj = Class.forName(dealClass).newInstance();

      if (obj == null) {

        message = "数据导入时,实例化处理类失败,请联系维护人员解决此问题!";

      } else {

        if (obj instanceof ImportExcelIn) {

          ImportExcelIn iei = (ImportExcelIn) obj;

          message = iei.dealExcelFile(file.getInputStream(), httpReq);

        } else {
          message = "实际传入的类为" + dealClass + ",需实现相应接口,请检查实现接口是否有误!";
        }
      }

    } catch (Exception e) {

      message = "数据导入时,实例化处理类失败,请联系维护人员解决此问题!";
      logger.error("数据导入时,实例化处理类失败,class=" + dealClass);
      logger.error(e.getMessage(), e);
    }

    req.getSession().setAttribute("message", message);
    req.getSession().setAttribute("pkmessage", pkmessage);
    req.getSession().setAttribute("dealclass", dealClass);
    return null;
  }