簡體   English   中英

在 vaadin 中保留應用程序

[英]Preserving application in vaadin

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

返回應用程序時缺少哪些組件? Vaadin 應用程序的生命周期與網絡會話一樣長。 如果我去 nytimes.com 然后在網絡會話結束前返回,Vaadin 應用程序將繼續存在(如果它有@PreserveOnRefresh )或將被更新

好吧,會話中的序列化和反序列化可能存在問題。 確保您已經為自己的類實現了Serialization接口。

您是否嘗試過repaint丟失的組件? 它們應該在repaintRequest期間設置為setImmediate(false)

無論如何,從其他 url 返回后,普通的 Vaadin 應用程序可以正常工作。 所以祝你好運。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM