p:fileUpload没有设置任何值

问题描述

我正在尝试从jsf视图上传文件以在Java代码中使用,为此,我正在使用p:fileUpload,如下所示:

视图:

@H_502_4@<h:form id="exportForm" class="formClass" enctype="multipart/form-data" rendered="true" style="margin: 100px 50px;"> <p:fileUpload value="#{bean.importFile}" mode="simple" allowTypes=".xls" invalidFileMessage="#{msg['bean.InvalidMessage']}" sizeLimit="500000" invalidSizeMessage="#{msg['bean.maxSizeMessage']}" /> <h:commandButton value="#{msg['bean.uploadFileMsg']}" ajax="false" actionListener="#{bean.uploadFile}" styleClass="btn btn-primary"> </h:commandButton> </h:form>

在Java中,文件具有其setter和getter

@H_502_4@private UploadedFile importFile; public UploadedFile getImportFile() { return importFile; } public void setImportFile(UploadedFile importFile) { this.importFile = importFile; }

web.xml

@H_502_4@ <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.xhtml</url-pattern> </servlet-mapping> <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>

但是每次我尝试上传文件时,该文件始终为null:

@H_502_4@public void uploadFile() { if(importFile != null) { //null . . . } }

此外,java类实现Serializable的标记为:

@H_502_4@@ManagedBean(name = "bean") @ViewScoped

我正在使用:

  • commons-fileupload 1.3.3
  • commons-io 2.5
  • JSF 2.0
  • Primefaces 7.0

我看不到我想念的东西。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)