日期:2014-05-16 浏览次数:20435 次
JSF2.0虽然添加了很多新特性,但是还是没有官方的对上传的支持。直接使用
<h:form enctype="multipart/form-data" >
</h:form>
是不行的。因为multipart/form-data类型的request是解析不了的。
解决方法可以使用filter对request进行包装(原request似乎是不能更改的,所以借助包装),在解析request是可以借助apache的commons-fileupload组件。
Myfaces刚好给出了这个解决方案的实现:
MultipartFilter+MultipartRequestWrapper(Use commons-fileupload).
?
原来是打包在一个myfaces-extensions.jar中,现在找不到官方的下载,不过在Tomahawk包里可以找到(org.apache.myfaces.webapp.filter.*,MultipartFilter似乎都弄到ExtensionsFilter里了)。
?
个人觉得旧版的源代码挺参考价值的,贴出来分享下。
?MultipartRequestWrapper:
?