File upload 具有文件上传和多选择功能的JSF表单

File upload 具有文件上传和多选择功能的JSF表单,file-upload,jsf-2,primefaces,liferay-6,multiple-select,File Upload,Jsf 2,Primefaces,Liferay 6,Multiple Select,我使用的是JSF2.0,我有一个带有primefaces自动完成(multiple)字段的表单,还有几个文件输入。因为我使用的是文件输入,所以我的h:form标记使用enctype=“multipart/form data” 但是,当我将表单设置为multipart时,我的autocomplete字段只将最后一项返回给我的bean(列表的大小始终为1)仅使用常规多选元素而不是primefaces自动完成时(自动完成使用隐藏的多选元素),也会出现此问题。当我删除enctype=“multipart

我使用的是JSF2.0,我有一个带有primefaces自动完成(multiple)字段的表单,还有几个文件输入。因为我使用的是文件输入,所以我的h:form标记使用enctype=“multipart/form data”

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

是否有人面对这个问题并找到了解决方案


我正在使用:Liferay 6.1 GA2、Primefaces 3.5、Mojarra 2.1.21。对于任何面临此问题的人,我只想告诉大家,我最终转而使用jquery的自动完成小部件。

我在JBoss EAP 6.1上也遇到了同样的问题。原来这是Request.java对象实现中的一个bug,直到Wildfly 8.x才修复。此处参考:

为了解决这个问题,我使用了BalusC博客中的一个过滤器:


请注意,尽管JBoss是一个3.0servlet规范,但由于这个bug,我无法在3.0中使用BalusC的相关博客条目。

Anghel Leonard在文章中使用传递命名空间(
http://xmlns.jcp.org/jsf/passthrough
)添加
多个
属性和覆盖方法以提取上载的文件