首页 > 解决方案 > FileUpload 标记未在浏览器中呈现

问题描述

我正在将 primefaces 版本从 4.0.RC1 迁移到 6.2,并且 fileupload 标记不再出现在表单上

我的 web.xml 部分

<filter>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
</filter> 
<filter-mapping>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>

我的 test.xhtml 部分

<h:form prependId="false" id="form1" enctype="multipart/form-data">
<p:outputLabel value="Arquivo: " for="fileUpload" />
<p:fileUpload id="fileUpload" fileUploadListener="#{CtPessoaSB.handleFileUpload}" label="Escolher" uploadLabel="Enviar" cancelLabel="Cancelar" />
</h:form>

标签: file-uploadprimefaces

解决方案


我通过将jsf版本升级到2.2解决了这个问题。在 pom.xml 部分下方

<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>org.jboss.spec.javax.faces</groupId>
<artifactId>jboss-jsf-api_2.2_spec</artifactId>
<version>2.2.14</version>
</dependency>
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>6.2</version>
</dependency>

推荐阅读