重定向到根URL在vaadin中

时间:2015-08-08 17:25:44

标签: web vaadin vaadin7

我有一个简单的Vaadin登录应用程序。用户登录后,URL看起来如下所示

  

http://localhost:8080/app/#!loogedin

我想要做的是在注销后,URL应该看起来像这样

  

http://localhost:8080/app/

我试过了

Page.getCurrent().setUriFragment("", true);

但它不起作用

2 个答案:

答案 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'");
});

参考 https://vaadin.com/forum/thread/17069258