2

我正在使用 JSF 2.0,并且我有一个带有 primefaces 自动完成(多个)字段和几个文件输入的表单。由于我使用的是文件输入,因此我的 h:form 标签使用enctype="multipart/form-data"

但是,当我将表单设置为多部分时,我的自动完成字段仅将最后一项返回到我的 bean(列表的大小始终为 1)。当仅使用常规多选元素而不是 primefaces 自动完成(自动完成使用隐藏的多选元素)时,也会出现此问题。当我删除 enctype="multipart/form-data" 时,这个问题就消失了,但是当然,我的 bean 无法检测到我希望上传的文件。

有没有人遇到过这个问题并找到了解决方案?

我正在使用:Liferay 6.1 GA2、Primefaces 3.5、Mojarra 2.1.21

4

3 回答 3

1

Anghel Leonard 在文章Uploading multiple files using pass through namespace ( http://xmlns.jcp.org/jsf/passthrough) 中描述了添加multiple属性并覆盖FileRenderer#decode方法以提取上传的文件。

于 2014-07-28T08:20:03.480 回答
0

我对 JBoss EAP 6.1 也有同样的问题。原来这是 Request.java 对象实现中的一个错误,直到 Wildfly 8.x 才修复。参考这里:https ://community.jboss.org/thread/223085

为了解决这个问题,我使用了 BalusC 博客中的过滤器:http: //balusc.blogspot.com/2007/11/multipartfilter.html

请注意,即使 JBoss 是 3.0 的 servlet 规范,我也不能使用 BalusC 的 3.0 相关博客条目,因为该错误。

于 2014-01-31T10:51:22.010 回答
-1

对于任何面临这个问题的人,我只想分享一下我最终转而使用 jquery 的自动完成小部件。

于 2013-10-11T08:42:20.200 回答