如何解决p:fileUpload没有设置任何值
我正在尝试从jsf视图上传文件以在Java代码中使用,为此,我正在使用p:fileUpload,如下所示:
视图:
<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
private UploadedFile importFile;
public UploadedFile getImportFile() {
return importFile;
}
public void setImportFile(UploadedFile importFile) {
this.importFile = importFile;
}
web.xml
<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:
public void uploadFile() {
if(importFile != null) { //null
.
.
.
}
}
此外,Java类实现Serializable的标记为:
@ManagedBean(name = "bean")
@ViewScoped
我正在使用:
- commons-fileupload 1.3.3
- commons-io 2.5
- JSF 2.0
- Primefaces 7.0
我看不到我想念的东西。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。