2012-12-20 70 views
6

我對的JavaGWT和停留在一個部分做一個項目,我想創建一個提醒,就像是用戶輸入的日期和時間,並在那個時候彈出應顯示提醒用戶他的事件。任何人都可以建議我採取任何方法實現這一點提醒在GWT

當我用Google搜索的解決方案,我發現了一些東西有關定時器GWT但我猜定時器有方法schedule()這需要毫秒作爲參數,但轉換的日期和時間爲毫秒似乎沒有解決,所以任何其他選擇是高度讚賞。

+0

問題+1。這可能是一個根本性的問題,如果你需要與新服務器同步服務器(http和async意味着基於計時器的輪詢rpc請求到服務器)或者我想象龍... – SSR

+1

@Durrat,你說「轉換日期和時間毫秒級似乎並不是解決方案「。爲什麼不?這將是一個簡單的客戶端解決方案。因此,如果用戶關閉應用程序,則提醒消失。但是,您可以使用cookie將其保存在瀏覽器中。 如果你確實需要一個涉及服務器的解決方案,我建議你按照'mudalov'的建議看看GwtEventService。 –

回答

4

只有定時器才能處理它。似乎你需要實現一些服務器端邏輯來實現這一點。

  1. 用戶選擇的時間和日期的事件客戶端上 - >調用服務器來存儲它的地方(可以是簡單的RPC或Ajax調用)
  2. 通知用戶可以通過多種方式來實現:

    • Simple polling - 從客戶因爲什麼事件發生問服務器最後使用Ajax調用每N(不要說10)秒。服務器需要比較當前的時間和發送事件列表返回給客戶端用於推動事件給客戶

    • Long pollHidden Iframe - 更復雜,但也可以實現

你也可以看看GwtEventService來管理你的活動服務器客戶端

最後你的邏輯保持簡單 - 客戶需要從服務器聽取有關發生的事件並在處理程序來顯示彈出對話框。

+0

更改 - 池到投票(stackoveflow不會允許我編輯更改時小於6個字符) – SSR

+0

Thx爲更正) – udalmik

+0

嘿馬塞爾thanx ..我認爲將日期和時間轉換爲毫秒是不標準的方式,當我的事件是創建它保存在服務器上的一個文件,所以我真的需要服務器的參與,所以我會計算msec和讓我的東西做... thanx ... – Durrat