前天在做分类图标管理的时候,需要同时上传两个图标。但在处理的时候老报错,在google上找到有用的信息:
File upload support has been rebuilt to allow for multiple files with the same HTTP parameter name. Besides "cos" and "pell" support, "jakarta" support has been added, utilizing the Commons-FileUpload library. Only "jakarta" supports multiple files with the same HTTP parameter name. In future versions "jakarta" may become the default upload library, replacing "pell",作者还说将webwork.properties的webwork.multipart.parser设为com.opensymphony.webwork.dispatcher.multipart.JakartaMultiPartRequest就可以了。
再看一下我们项目的webwork.properties,真是晕死,人家webwork已经调jakata设为默认上传组件了,我们的webwork.properties竟然还硬要设为pell,这不是蓄意谋杀么?
当时图个爽快,按照这样仁兄的设置,果然成功了。今天早上回来看了一下webwork的代码,发现有点不对路。Webwork里的com.opensymphony.webwork.dispatcher.multipart.MultiPartRequestWrapper里面有几行代码,是判断使用那个上传组件的。以下是摘抄:
if (request instanceof MultiPartRequest) {
multi = (MultiPartRequest) request;
} else {
String parser = Configuration.getString(WebWorkConstants.WEBWORK_MULTIPART_PARSER);
// If it's not set, use Jakarta
if (parser.equals("")) {
log.warn("Property webwork.multipart.parser not set." +
" Using com.opensymphony.webwork.dispatcher.multipart.JakartaMultiPartRequest");
parser = "com.opensymphony.webwork.dispatcher.multipart.JakartaMultiPartRequest";
}
// legacy support for old style property values
else if (parser.equals("pell")) {
parser = "com.opensymphony.webwork.dispatcher.multipart.PellMultiPartRequest";
} else if (parser.equals("cos")) {
parser = "com.opensymphony.webwork.dispatcher.multipart.CosMultiPartRequest";
} else if (parser.equals("jakarta")) {
parser = "com.opensymphony.webwork.dispatcher.multipart.JakartaMultiPartRequest";
}
为什么将webwork.multipart.parser设为com.opensymphony.webwork.dispatcher.multipart.JakartaMultiPartRequest也是可以的?理论上应该设为jakata才对,除非在if子句中已经执行了,跳过了下面的else子句。
分享到:
相关推荐
NULL 博文链接:https://xiaoqiang21.iteye.com/blog/763674
webwork中上传文件,webwork文件上传.doc
WebWork 文件上传 多个文件上传 范例
简单的使用webwork框架实现了文件上传的功能 主要是针对EXCEL文件
项目里需要实现webwork 上传与下载文件操作, 自己摸索过程中出现了很多问题,一一解决, 记录下来本准备做参考,现贡献给大家, 记得有点乱,耐心看完,一定会有帮助的。
本文主要从三个方面给大家介绍webwork文件上传下载知识,包括以下三个方面: 1. 包装 Request 请求 2. 获取文件上传的解析类 3. 项目实战配置和使用 Web上传和下载应该是很普遍的一个需求,无论是小型网站还是大...
NULL 博文链接:https://cxl2012.iteye.com/blog/2011487
webwork上传文件pdf文件说明文档
NULL 博文链接:https://sgl124764903.iteye.com/blog/812973
fileupload+dwr2+webwork2实现带进度条上传文件
使用webwork上传excel并导入数据库,上传时只能上传excel文件,数据库为mysql,可以根据需要自行修改。 数据库的配置也请自行修改。
NULL 博文链接:https://goowolf.iteye.com/blog/513688
关键是正对最新版webwork,在action中进行操作,说得很细致,有源代码实例。也将异常情况处理列出来了。
不用多说了,Struts 2权威指南--基于WebWork核心的MVC开发(高清完整版),解压出来有200多M,因为权限不怎么够,我一共分了12卷,是一本不可多得的好书。第一卷附目录: 第1章 Struts 2概述,第2章 Struts 2下的Hello...
真正的《webwork in action》,共三部分,放在一起解压即可。 因为一次上传不了那么大的文件,所以有些麻烦。
《Struts2权威指南——基于WebWork核心的MVC开发》的源代码。请完全放心,绝对保证质量。由于源码中包含jar文件,打出的包过大,只能分多次上传,请谅解。原文件大于415M,压缩后377M,分压成16个包。此为第68个包。
该两个文件是基于webwork框架的两个文件上传包,两个缺一个不可,里面包含各自的源文件
Struts 2权威指南--基于WebWork核心的MVC开发.pdf 12卷,最后要下载我上传的 "海啸文件分割器V1.0.rar"或自行去网站下载进行12卷的合并..谢谢
《Struts2权威指南——基于WebWork核心的MVC开发》的源代码。请完全放心,绝对保证质量。由于源码中包含jar文件,打出的包过大,只能分多次上传,请谅解。原文件大于415M,压缩后377M,分压成16个包。此为第13个包。