日期:2014-05-16  浏览次数:20794 次

Seam中文件的上传(使用Apache-Common-FileUpload组件)
我在项目中处理文件上传时,遇到一个使用Common-FileUpload组件无法上传的问题,而其它普通的Web项目是好的。通过调试,发现seam中的request对象似乎不是Sevlet中那个最原始的request对象,因此fileupload组件在处理request中提交的文件时,总认为没有上传文件。

查了很多资料,最后发现是SeamFilter加载以后,默认会使MultipartFilter生效,这个MultipartFilter会对原始的request对象额外处理,从而导致问题。

解决办法是,在components.xml中增加下面一句:

<web:multipart-filter disabled="true"/>

最后问题解决,折腾了整整一个下午。

1 楼 yourenyouyu2008 2009-05-25  
seam本身的上传组件不是很好用吗?
2 楼 lxh2002 2009-05-25  
yourenyouyu2008 写道

seam本身的上传组件不是很好用吗?

呵呵,我用的是Wicket,即在Wicket中处理文件上传。对JSF没有什么好印象,满是标签。
不过,还是谢谢指点!