首页 > 解决方案 > vaadin 8 中 setLogoutURL 方法的替代品是什么

问题描述

我们的 vaadin 6 应用程序在另一个 Web 应用程序提供的浏览器弹出窗口中运行。但是,该网络应用程序不知道我们的应用程序何时完成,因此关闭浏览器弹出窗口的责任在我们身上。我们在 vaadin 6 中通过使用 setLogoutURL 方法在 vaadin 应用程序关闭后重定向到另一个 servlet 并从该 servlet 运行 JS 命令 window.close() 来做到这一点。
我在 vaadin 8 中没有找到类似的 setLogoutURL 概念。在同一场景中,它的替代品是什么?基本上,我正在寻找一个可以运行 JS 命令以在 vaadin UI 正确关闭后关闭浏览器弹出的钩子。我假设以下代码不起作用。
myUI.close();
JavaScript.getCurrent().execute("window.close()");
// let this thread go back to vaadin framework here
因为 close() 和 execute() 可能会竞争。

标签: vaadin8

解决方案


在 Vaadin 8 中,注销过程的最佳实践确实有所不同。您应该通过 Vaadin 会话使 http 会话无效,并在使用带有注销 url 的设置位置之后。

vaadinSession.getSession().invalidate();
ui.getPage().setLocation("");

推荐阅读