现在我觉得前台没有必要在用前台数据填充javabean来传向后台来处理数据,如果一个程序有几百个表,是不是要用几百个javabean呢? 把前台所有传向后台的数据封装成Map,传向后台也一样处理. public boolean isMultipart() { return !StringUtils.isBlank(request.getContentType()) && request.getContentType().indexOf("multipart/form-data") > -1; } private Map<String, Object> createParamMap() { if (isMultipart()) { // 含有上传文件 DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); List<FileItem> fileItemList = null; try { fileItemList = upload.parseRequest(request); } catch (Exception e) { throw new ServiceException(e); } for (FileItem fileItem : fileItemList) { if (fileItem.isFormField()) { paramMap.put(fileItem.getFieldName(), fileItem.getString()); } else if (fileItem.getSize() > 0) { if (!paramMap.containsKey(fileItem.getFieldName())) { paramMap.put(fileItem.getFieldName(), new ArrayList<FileItem>()); } ((List) paramMap.get(fileItem.getFieldName())).add(fileItem); } } } // 把传入的参数放入paramMap(json or get 方式) { Enumeration paramNames = request.getParameterNames(); if (paramNames != null) { while (paramNames.hasMoreElements()) { String paramName = (String) paramNames.nextElement(); String paramValue = request.getParameter(paramName); if (paramName != null && !paramName.equals("")) { paramMap.put(paramName, paramValue); } } } } return paramMap; }