2015-09-01 177 views
0

我知道我的問題非常基本,但在SO或Google上找不到任何關於此的問題。我使用PrimeFaces及其p:fileUpload組件。它工作正常,文件正在上傳。問題是,在上傳這些文件後,我需要向用戶顯示上傳了多少文件,而不是使用JavaScript。我需要這個數字在我的支持豆。顯示文件上傳完成時上傳的文件總數

有一個oncomplete屬性,但用於客戶端回調(也是JavaScript)。

以下是我卑微的代碼:)

<p:fileUpload required="true" requiredMessage="No files selected." 
       mode="advanced" 
       multiple="true" 
       dragDropSupport="true" 
       allowTypes="/(\.|\/)(gif|jpe?g|png)$/" 
       update="growlMessage" 
       fileUploadListener="#{mainForm.fileUploadListener}"> 
</p:fileUpload> 

這裏是後臺bean:

@ManagedBean 
@SessionScoped 
public class MainForm { 
    private int totalImageFiles; 

    public MainForm() { 
     this.totalImageFiles = 0; 
    } 

    public void fileUploadListener(FileUploadEvent event) { 
     UploadedFile uploadedFile = event.getFile(); 
     ReaderWriter.ReadWrite(uploadedFile, yourName, yourHomeAddress, totalImageFiles); 
     totalImageFiles++; 
    } 
} 

totalImageFiles是我想說明的用戶數量。它具有正確的值,但我不知道如何發送另一個請求來檢索此號碼。

回答

2

只需在某些輸出組件中引用它,然後使用ajax進行更新。

<p:fileUpload ... update="growlMessage totalImageFiles" /> 
<h:outputText id="totalImageFiles" value="#{mainForm.totalImageFiles}" /> 
+0

我已經使用了你問的確切的東西,它已經開始工作。但我不是阿賈克斯 - 更新任何東西。這將是未來的問題嗎? –

+0

此外,現在它顯示'totalImageFiles'也不準確。有時它顯示正確的數字,其他時間不顯示。你認爲我上面的計算總上傳文件的方法是正確的嗎? –

+0

'update'屬性可以做到這一點。至於錯誤編號,迄今爲止所提供的信息中並未看到原因。 – BalusC