0

我正在尝试使用 primefaces fileUpload 实现页面,但未触发我的 handleUpload 函数。我的xhtml:

<h:form enctype="multipart/form-data">
  <p:panel id="uploadFormPanel" header="File upload">
     <h:panelGrid columns="2" style="margin-bottom:10px" cellpadding="5">  
         <h:outputText value="#{criteriaTranslation.questionaireFile}:" />
         <p:fileUpload update="uploadMessages"   
                       fileUploadListener="#{critereCSVImporter.handleFileUpload}"
                       mode="advanced"
                       allowTypes="/(\.|\/)(csv)$/"/>  
    </h:panelGrid>
    <p:growl id="uploadMessages" showDetail="true"/>
  </p:panel>
</h:form> 

我的支持豆:

@ManagedBean
@ViewScoped
public class CritereCSVImporter {

@Inject
private CriteriaBL criteriaBL;
private String OCRMODE;

public void handleFileUpload(FileUploadEvent event) {
    System.out.println("handle");
    InputStream inputStream = event.getFile().getInputstream();
}

我的 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>

我错过了什么吗?

4

1 回答 1

1

将 commons-fileupload 和 commons-io jar 放在你的 lib 文件夹中

Apache Commons 文件上传

Apache Commons IO

于 2012-08-14T12:08:15.473 回答