2014-03-06 64 views
1

我有下面的代碼,運行在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.C​​ommonsFileUploadDecoder 他做此項檢查: 如果(multipartRequest!= NULL)//繼續下去,否則停止

在我的情況該變量爲空。我不明白爲什麼。生成的html代碼正確包含enctype。

BalusC表明在請求處理過程中可能發生某些事情。我使用氛圍,但它使用另一個servlet進行通信。他也抱怨彗星支持相當長一段時間(有一天我會解決這個問題)。不知道它是否重要。

我還能檢查什麼? 令人煩惱的是,文件上傳這麼簡單的事情正在浪費我很多時間......

謝謝你的時間。

+0

嗨!你能使它工作嗎? –

+0

不幸的不是。 –

回答

0

您是否嘗試將以下參數添加到您的web.xml中?

<context-param> 
    <param-name>primefaces.UPLOADER</param-name> 
    <param-value>commons</param-value> 
</context-param> 

我有同樣的行爲,直到我說這些方面PARAM

問候

邁克爾