可以写一个全局的拦截器,判断每个controller请求是否为multipart是否的话就调动一下getFile,如下,这样在获取参数时就不必每次都去注意这个问题了
@Override
public void intercept(ActionInvocation ai) {
Logger.getLogger(getClass()).info(" 文件上传请求包装拦截...");
Controller c = ai.getController();
if (ServletFileUpload.isMultipartContent(c.getRequest()) && c.getRequest() instanceof MultipartRequest == false)
c.getFiles("这里是自定义的缓存路径", "自定义大小", Const.DEFAULT_ENCODING);
ai.invoke(); //!!
}