我們要自動刷新使用GWT 2.我們用了很多的解決方案做它內置了網頁:GWT自動刷新代碼會跳轉到主頁
automatic refresh of GWT screen
但他們都沒有正常工作。這個問題有點複雜:
自動刷新工作在主頁/標籤名爲「Kazalar」:
http://dl.dropbox.com/u/103580364/temp/000766.jpg
但是,如果用戶是在另一個選項卡,然後後自動刷新瀏覽器跳轉首頁/標籤:
http://dl.dropbox.com/u/103580364/temp/000767.jpg
在上面question's answer,回答者says,我們應該更換reloadAll()函數用代碼重新創建該部分的視圖(如果需要,某些Ajax調用可以從服務器重新獲取數據)。我們無法測試這部分,因爲我們不知道如何編寫重新生成特定部件視圖的代碼。有人可以舉例說明如何做到這一點?
public class TimerExample implements EntryPoint, ClickListener {
public void onModuleLoad() {
Button b = new Button("Click and wait 5 minutes");
b.addClickListener(this);
RootPanel.get().add(b);
}
public void onClick(Widget sender) {
Timer t = new Timer
public void run() {
reloadAll();
}
};
// Schedule the timer to run once in 5 minutes.
t.schedule(5*1000*60);
}
private void reloadAll() {
Window.Location.reload();
}
}
當顯示「Kazalar」的地方時,您啓動此計時器,當調用Timer.run()時,您將調用與第一次加載該選項卡時用於填充數據的方法相同的方法。 –
我會建議不要做一個Location.reload()。只需重新加載你的計時器顯示的數據。 –