2013-07-31 85 views
0

我想知道如何在用戶通過轉到另一個站點完全離開應用程序時保留應用程序(例如,當用戶登錄到應用程序然後轉到nytimes.com然後返回到應用程序一些組件丟失)。要在刷新上保留應用程序,可以使用@PreserveOnRefresh註釋,但在離開時不會保留應用程序。標題,菜單和頁腳正在消失。這三個組件都有自己的類,只在主UI中聲明。每個視圖(或頁面)都有自己的類(位於菜單和頁腳之間)。一切工作正常,直到用戶離開網頁,並返回標題,菜單和頁腳disapear所以我的問題是如何保留我的vaadin應用程序,當用戶離開並返回?在vaadin中保留應用程序

回答

0

要解決這種情況,您可以嚮導航器添加一個偵聽器,該偵聽器將獲取您要訪問的頁面的URI並檢查您的權限。如果您沒有權限,它會將您保留在同一頁面上,並通知您不允許訪問此頁面。如果他們被允許,你將繼續引導他們到那個頁面。

0

回到應用程序時缺少哪些組件? Vaadin應用程序的生活時間與Web會話一樣長。如果訪問nytimes.com並在網絡會話結束前返回,Vaadim的應用將會存活(如果@PreserveOnRefresh)或將被更新

+0

標題,菜單和頁腳正在消失。這三個組件都有自己的類,只在主UI中聲明。每個視圖(或頁面)都有自己的類(位於菜單和頁腳之間)。一切工作正常,直到用戶離開網頁,並返回標題,菜單和頁腳disapear – abden003

+0

請分享您的代碼 – michaldo

+0

我添加了我的主要用戶界面到問題 – abden003

0

那麼,可能會出現會話序列化和反序列化的問題。確保你已經爲你自己的課程實施了Serialization界面。您是否試過repaint缺失的組件?在repaintRequest期間,它們應設置爲setImmediate(false)

無論如何,普通的Vaadin應用程序從其他網址返回後沒有問題。祝你好運。

+0

你可以擴展或給我鏈接序列化?此外,應用程序的工作方式是菜單面板,頁眉面板和頁腳處於單獨的類中。當用戶登錄時,會調用三個命令來構建每個命令。我網站中唯一改變的部分是菜單面板和頁腳之間的部分(約10個不同的視圖)。當我離開頁面並回來時,除了中間部分以外的其他東西都消失了。謝謝 – abden003

+0

您的日誌中完全沒有錯誤?這很奇怪,他們只是消失。你能否提供更多的實現以及什麼是你的Web容器? –

相關問題