組件我在HTML球員的表:[表] 如何不使在檢票口
如何隱藏或爲空時不會呈現這個表?我嘗試添加,如果有條件的Java代碼,並將此表添加到頁面只有當有一些值,但然後Wicket拋出一個異常,他無法找到具有此ID的組件。那我該怎麼做呢?
組件我在HTML球員的表:[表] 如何不使在檢票口
如何隱藏或爲空時不會呈現這個表?我嘗試添加,如果有條件的Java代碼,並將此表添加到頁面只有當有一些值,但然後Wicket拋出一個異常,他無法找到具有此ID的組件。那我該怎麼做呢?
它引發異常,因爲html標記期望組件存在。即你必須添加它。
如果它是你想隱藏的整個面板,那麼使用EmptyPanel就會隱藏整個面板。
如果在面板中只有一個組件,您還可以使用component.setVisible(false)來隱藏它。
您可以使用您已經在java中使用的相同條件,但不是將該表添加到頁面,而是使用table.setVisible(false)。
另一種方式來做到這將是覆蓋調用setVisible()和可見性()方法,但我不認爲這建議(見here)
希望這有助於
您可以覆蓋isVisible()函數,如果沒有日期可用,則返回false。但是,這個函數會被調用幾次,所以如果確定數據是否可用(如敲擊數據庫),可以調用setVisible(boolean)函數。
另一種選擇是在沒有數據可用的情況下將Repeater與EmptyPanel交換。
正如其他用戶指出的,不推薦重寫isVisible(),因爲在呈現組件之前多次調用此函數。 您應該改寫onConfigure(),並在其中放入代碼,以決定您的表是否必須可見。每個請求只調用一次onConfigure()。
thx很多工作 – hudi 2012-08-17 12:28:46