使用jakarta commons-upload。
升级到2.2.2后发现上传中文会乱码。
经过跟踪发现在com.opensymphony.webwork.dispatcher.DispatcherUtils的prepare(HttpServletRequest request, HttpServletResponse response)方法。
2.2.1->2.2.2时这个方法发生了非常的的变化。
2.2.1时:
public void prepare(HttpServletRequest request, HttpServletResponse response) {
if (encoding != null) {
try {
request.setCharacterEncoding(encoding);
} catch (Exception e) {
LOG.error("Error setting character encoding to '" + encoding + "' - ignoring.", e);
}
}
if (locale != null) {
response.setLocale(locale);
}
if (paramsWorkaroundEnabled) {
request.getParameter("foo"); // simply read any parameter (existing or not) to "prime" the request
}
}
2.2.2时:
public void prepare(HttpServletRequest request, HttpServletResponse response) {
String encoding = null;
if (Configuration.isSet(WebWorkConstants.WEBWORK_I18N_ENCODING)) {
encoding = Configuration.getString(WebWorkConstants.WEBWORK_I18N_ENCODING);
}
Locale locale = null;
if (Configuration.isSet(WebWorkConstants.WEBWORK_LOCALE)) {
locale = LocalizedTextUtil.localeFromString(Configuration.getString(WebWorkConstants.WEBWORK_LOCALE), request.getLocale());
}
if (encoding != null && !MultiPartRequest.isMultiPart(request)) {
try {
request.setCharacterEncoding(encoding);
} catch (Exception e) {
LOG.error("Error setting character encoding to '" + encoding + "' - ignoring.", e);
}
}
if (locale != null) {
response.setLocale(locale);
}
if (paramsWorkaroundEnabled) {
request.getParameter("foo"); // simply read any parameter (existing or not) to "prime" the request
}
}
我看了jira没有发现encoding != null && !MultiPartRequest.isMultiPart(request)这个判断的意义。但是它会造成对multiPartRequest的encoding判断失败,中文就会乱码。
所以临时的解决方案是将判断改成:
if (encoding != null)
听说WW的Jira已经不接受新issue了,不知是否真的?
分享到:
相关推荐
是有关xwork培训的,BizFocus5.0是东方易维公司开发的一款优秀的中间件技术平台。
webwork-2.2.2和xwork1.1.3的jar包and源代码
调试webwork(没有调试成功) 博文链接:https://lwfshr.iteye.com/blog/137548
webwork的包。webwork开发者不可缺少的
webwork-reference-2.2.2.pdf
webwork中文 webwork中文参考 webwork中文资料 webwork学习资料
webwork2.17中文使用手册
webwork中上传文件,webwork文件上传.doc
webwork中文帮助文档 webwork中文帮助文档 webwork中文帮助文档 webwork中文帮助文档 webwork中文帮助文档 webwork中文帮助文档
webwork2中文参考
webwork2中文教程,实例讲述教材。
webwork 2.2.6 中文版本,然后编译生成chm格式,方面查看。
webwork2中文文档,是一个比较的中文文档
webwork中文文档
这个是我查看了大量的网上文档后,利用webwork的上传机制写的一个上传到例子。因为网上很多都转来转去的文档。能不能不运行,还不一定。改起来很费时,所以我把我写的上传上去。力争做到用最少的代码和简单配置来...
WebWork 文件上传 多个文件上传 范例
简单的使用webwork框架实现了文件上传的功能 主要是针对EXCEL文件
WebWork完全自学!
WEBWORK的配置
webwork+spring整合例子 内带使用说明 以及webwork文档(中文) 下载