首先,我想實現的:
假設我正在做一些AjaxLink的onClick()方法。我想給用戶一些中間狀態的反饋,並繼續做,並給出另一個反饋。響應後立即請求
要做到這一點,我想添加一些組件或行爲,它們會在頁面呈現後立即發送ajax請求,以便我可以繼續執行此行爲的onEvent()。我怎樣才能實現這樣的事情?
首先,我想實現的:
假設我正在做一些AjaxLink的onClick()方法。我想給用戶一些中間狀態的反饋,並繼續做,並給出另一個反饋。響應後立即請求
要做到這一點,我想添加一些組件或行爲,它們會在頁面呈現後立即發送ajax請求,以便我可以繼續執行此行爲的onEvent()。我怎樣才能實現這樣的事情?
我已經找到了自己。這足以加AbstractDefaultAjaxBehavior
這樣實現:當組件它被添加到呈現
new AbstractDefaultAjaxBehavior() {
@Override
protected void respond(AjaxRequestTarget target) {
}
@Override
public void renderHead(IHeaderResponse response) {
super.renderHead(response);
response.renderOnLoadJavascript(getCallbackScript().toString());
}
}
respond(AjaxRequestTarget target)
將被調用。
您記下的解決方案可能會導致解決方案,但是提供持續更新的常用方法是使用AjaxSelfUpdatingTimerBehavior,如在此簡單clock example中所述。
我在想這個,但是在代碼分析之後,我意識到即使在調用stop()函數後也會完成請求,只有onTimer()不會被調用 –