簡體   English   中英

primefaces文件上傳不起作用

[英]primefaces file upload not working

我有以下代碼,在jboss eap 6.1上運行:

 <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中,他執行以下檢查:if(multipartRequest!= null)//繼續進行,否則停止

就我而言,該變量為null。 我不明白為什么。 生成的html代碼正確包含enctype。

BalusC建議在請求處理期間可能會發生某些事情。 我正在使用大氣,但是它使用另一個servlet進行通信。 此外,他還抱怨彗星支持了一段時間(有一天我會解決)。 不知道這是否重要。

我還能檢查什么? 令人討厭的是,像文件上傳這樣簡單的事情浪費了我很多時間……

感謝您的時間。

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

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

在添加這些上下文參數之前,我具有相同的行為

問候

麥可

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM