2013-02-17 44 views
3

我一直想有一個禁用按鈕,直到和行動是完整的,那麼這應該啓用該按鈕號碼:COMMANDBUTTON做什麼,我需要

該按鈕的代碼相反:

<p:commandButton action="#{navigationBean.naviagtion}" value="Next" disabled="#{!fileUploadController.uploadComplete}"/> 

這是豆FileUploadController它是一個管理和查看範圍的bean

private boolean uploadComplete; 

      uploadComplete = false; 
      System.out.println("Upload complete value before copy file " + uploadComplete); 
      copyFile(event.getFile().getFileName(), event.getFile().getInputstream()); 


     } catch (IOException e) { 
//handle the exception 
      e.printStackTrace(); 
     } 

    } 



    public void copyFile(String fileName, InputStream in) throws IOException { 
     try { 
      uploadComplete = true; 

//does things 

    public boolean isUploadComplete() { 
     return uploadComplete; 
    } 

    public void setUploadComplete(boolean uploadComplete) { 
     this.uploadComplete = uploadComplete; 
    } 

在我把它設置爲絕版每次在控制檯uploadComplete從改變假爲true d我得到:

INFO: Upload complete value before copy file false 
INFO: upload complete value is : true 

正如你所看到的變化值從虛假到真實的,這個問題是按鈕不會再被激活,這是爲什麼?

這一切正常,沒有錯誤等,它只是按鈕的問題

編輯:

一些測試我有這個代碼之後發現:

<p:commandButton id="Nav" action="#{navigationBean.naviagtion}" value="Next" ajax="False" update ="Nav" disabled="#{fileUploadController.uploadComplete}"/> 

它使按鈕生活在啓動,但當我上傳文件,並點擊按鈕,刷新頁面,然後變成禁用,我想要發生什麼的確切對立面,所以這個行爲如何被重新認可?我曾嘗試換周圍的真實和虛假陳述,但沒有工作,這從來沒有按鈕禁用

我如何翻轉控制它確實是這樣的,現在是什麼做

+0

你可以重新組織你的代碼至少編譯?請。 – partlov 2013-02-17 17:42:34

+2

@OP:您可以嘗試使用「更新」屬性重新呈現commandbutton或其父項。另外,請使用日誌工具而不是Sysouts。 – Sujoy 2013-02-17 17:43:37

+0

我將如何使用更新attrbute,因爲我認爲它現在正在工作,而不是正在重新呈現,這導致它保持禁用 – user2065929 2013-02-17 18:03:13

回答

1

相反our latest conversation我有後一看official documentation
我發現像Sujoy評論的那樣,p:fileOupload有一個屬性update,在上傳完成後呈現組件。因此,您通過將update="Nav"添加到<p:fileUpload>來更新您的Nav。這樣你的按鈕應該被正確地重新渲染。
也許你應該切換disabled="#{fileUploadController.uploadComplete}"/>回到disabled="#{!fileUploadController.uploadComplete}"/>因爲如果uploadComplete == true,按鈕應該而不是被禁用。
您必須將更新放在上傳組件中,而不是放在按鈕本身中!
希望您的測試還沒有搞砸了你的代碼;)

+0

完美的作品:D非常感謝你在這件事上的所有幫助! – user2065929 2013-02-17 20:02:08

相關問題