我一直想有一個禁用按鈕,直到和行動是完整的,那麼這應該啓用該按鈕號碼: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}"/>
它使按鈕生活在啓動,但當我上傳文件,並點擊按鈕,刷新頁面,然後變成禁用,我想要發生什麼的確切對立面,所以這個行爲如何被重新認可?我曾嘗試換周圍的真實和虛假陳述,但沒有工作,這從來沒有按鈕禁用
我如何翻轉控制它確實是這樣的,現在是什麼做
你可以重新組織你的代碼至少編譯?請。 – partlov 2013-02-17 17:42:34
@OP:您可以嘗試使用「更新」屬性重新呈現commandbutton或其父項。另外,請使用日誌工具而不是Sysouts。 – Sujoy 2013-02-17 17:43:37
我將如何使用更新attrbute,因爲我認爲它現在正在工作,而不是正在重新呈現,這導致它保持禁用 – user2065929 2013-02-17 18:03:13