当表单提交到ActionServlet时,ActionServlet会调用RquestProcessor类进行处理请求,RequestProcessor会判断请求中表单的类型,是post还是multipart/form-data,然后对请求进行wrap(封装),过程比较复杂,而楼主所说的FormFile是在这个过程当中被CommonsMultipartRequestHandler和其内部类CommonsFormFile封装实现的,具体的还是去看看struts的源代码吧