我有一個簡單的表[表格:TabView的:remTNtableID],用繩子CFSnumbers
的列表,當我點擊一個按鈕,我叫getTelephoneNumbers()
來填補它,這需要一段時間。RequestContext.getCurrentInstance()更新不會立即渲染
我希望在等待的時候顯示「Loading ..」,爲此我清除了列表,並在列表中添加了「Loading ..」,並調用了RequestContext.getCurrentInstance()。update 「形式:TabView的:remTNtableID」)。
但是表格沒有立即更新,沒有看到「Loading ..」,只有當getTelephoneNumbers()
調用結束時表格纔會更新。
這是怎麼回事?我如何強制表格立即重新渲染?
private List<String> CFSnumbers;
@PostConstruct
public void init() throws GuiException {
CFSnumbers = new ArrayList<String>();
}
public void getTelephoneNumbers() throws GuiException {
CFSnumbers.clear();
CFSnumbers.add("Loading..");
RequestContext.getCurrentInstance().update("form:tabView:remTNtableID");
try {
...
CFSnumbers = ...
RequestContext.getCurrentInstance().update("form:tabView:remTNtableID");
} catch (Exception e) {
CFSnumbers.clear();
RequestContext.getCurrentInstance().update("form:tabView:remTNtableID");
}
你有興趣,使你的'Loading'不同的解決方案?!? –
@YagamiLight呃,什麼? 此刻我的表格顯示「沒有記錄」。 我想單擊按鈕時顯示「正在加載..」,然後在我的調用檢索填充表格的數字返回的秒數後,顯示數字列表。 Atm只是從「沒有記錄」開始,停留在「沒有記錄」。幾秒鐘,然後,當通話結束時,顯示數字列表。 – WurmD
請看這篇文章關於AjaxStatus http://stackoverflow.com/questions/39897415/can-use-ajaxstatus-while-the-next-page-is-loading/39897555#39897555 –