我有一个简单的Vaadin登录应用程序。用户登录后,URL看起来如下所示
我想要做的是在注销后,URL应该看起来像这样
我试过了
Page.getCurrent().setUriFragment("", true);
但它不起作用
答案 0 :(得分:3)
您可以使用setLocation()
中的Page
方法进行重定向。这需要在关闭会话之前完成,因为之后UI或页面不可用。
public class MyUI extends UI {
@Override
protected void init(VaadinRequest request) {
setContent(new Button("Logout", event -> {// Java 8
// Redirect this page immediately
getPage().setLocation("/myapp/logout.html");
// Close the session
getSession().close();
}));
// Notice quickly if other UIs are closed
setPollInterval(3000);
}
}
要进一步了解,请查看Closing a session
答案 1 :(得分:0)
对于vaadin 10,您可以改用此代码
getUI().ifPresent(ui -> {
ui.getPage().executeJavaScript("window.location.href = 'you url'");
});