我有下面的代碼,運行在JBoss上的EAP 6.1:primefaces文件上傳不工作
<h:form id="SatelliteListForm" enctype="multipart/form-data">
...
<p:fileUpload id="datamodelImport" mode="advanced" auto="true" disabled="#{empty satelliteController.selected}" fileUploadListener="#{satelliteController.importDatamodel}" update=":messages" allowTypes="/(\.|\/)(csv)$/"/>
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>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
的pom.xml有這樣的:
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>4.0</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3</version>
</dependency>
問題?它不行。用戶界面似乎工作正常,但沒有調用文件上傳偵聽器。 使用搜索BalucC建議調試http通信。完成,這不是瀏覽器故障。然後他建議調試相應的primefaces類的解碼方法。完成。在下面的類 org.primefaces.component.fileupload.CommonsFileUploadDecoder 他做此項檢查: 如果(multipartRequest!= NULL)//繼續下去,否則停止
在我的情況該變量爲空。我不明白爲什麼。生成的html代碼正確包含enctype。
BalusC表明在請求處理過程中可能發生某些事情。我使用氛圍,但它使用另一個servlet進行通信。他也抱怨彗星支持相當長一段時間(有一天我會解決這個問題)。不知道它是否重要。
我還能檢查什麼? 令人煩惱的是,文件上傳這麼簡單的事情正在浪費我很多時間......
謝謝你的時間。
嗨!你能使它工作嗎? –
不幸的不是。 –