回答
如果您希望瀏覽器自動刷新每隔30秒,你可以完成與:
new Timer() {
@Override
public void run() {
Window.Location.refresh();
}
}.schedule(30000); // milliseconds
這是使用的schedule()
代替scheduleRepeating()
,因爲重新加載頁面這樣會導致你的GWT代碼從一開始就停止並重新啓動。你可能想避免這種情況。
我會說實話,這種做法「聞起來」對我來說很糟糕。如果你提供一些關於你爲什麼要每30秒刷新一次頁面的信息(因此需要重新加載你的GWT代碼),我可以給你提供關於如何更好地做你想做的事情的建議。
同意,這不是很好的做法。你應該使用Timer來安排一個服務調用,而不是一個頁面刷新,它只下載最近30秒內可能發生變化的數據。然後以編程方式刷新頁面上需要它的部分。這將爲您提供更好的用戶體驗,並且可以減少多餘的靜態內容下載。 – dslh 2010-09-22 23:34:24
@ hambend在屏幕上,我只有一張沒有分頁的醜陋大桌子。而且我只是裝載了桌子蓬勃發展的特定面板。 – frappuccino 2010-09-24 19:28:13
我正在使用計時器。有一個奇怪的要求,用戶想坐下來凝視屏幕,而頁面加載應該刷新以發佈最新狀態。 (它通過後臺進程得到更新) – frappuccino 2010-09-24 19:32:08
@michael感謝您的糾正! – frappuccino 2010-09-27 18:12:45