0

我想知道当用户通过转到另一个站点完全离开应用程序时如何保留应用程序(例如,当用户登录应用程序然后访问 nytimes.com 然后返回应用程序时,某些组件丢失了)。要在刷新时保留应用程序,您可以使用 @PreserveOnRefresh 注释,但这不会在您离开时保留应用程序。页眉、菜单和页脚正在消失。这三个组件都有自己的类,并且只在主 ui 中声明。每个视图(或页面)都有自己的类(位于菜单和页脚之间)。一切正常,直到用户离开网页并返回页眉,菜单和页脚消失所以我的问题是当用户离开并返回时如何保留我的 vaadin 应用程序?

4

3 回答 3

0

返回应用程序时缺少哪些组件?Vaadin 应用程序与 Web 会话一样长。如果我访问 nytimes.com,然后在网络会话结束前返回,Vaadin 应用程序将继续存在(如果有@PreserveOnRefresh)或将被更新

于 2013-08-02T08:45:33.680 回答
0

好吧,会话的序列化和反序列化可能存在问题。确保您已经Serialization为自己的类实现了接口。

您是否尝试过repaint缺少的组件?它们应该设置为setImmediate(false)during repaintRequest

无论如何,普通的 Vaadin 应用程序在从其他 url 返回后可以正常工作。祝你好运。

于 2013-08-22T08:47:11.103 回答
0

要解决这种情况,您可以向导航器添加一个侦听器,它将获取您要访问的页面的 uri 并检查您的权限。如果您没有权限,它将让您停留在同一页面上,并给您一个通知,告诉您不允许您访问此页面。如果他们被允许,您将继续将他们引导到该页面。

于 2013-08-29T17:35:23.693 回答