来自UI.init()方法的setLocation()

时间:2013-03-20 13:12:48

标签: java redirect vaadin

是否可以从UI的init()方法使用getPage()。setLocation(...)。在某些情况下,我必须将用户重定向到外部网站。到目前为止,它不起作用(Vaadin 7.0.2)。

以下是代码示例:

@Override
public void init(VaadinRequest request) {
   if (myCondition) 
      getPage().setLocation("http://www.externalsite.com");
   else {
      ....
   }     
}

3 个答案:

答案 0 :(得分:1)

奇怪的是它不适合你... setLocation就是你所需要的。这是一个工作版本:VaadinLocationRedirectmvn package将构建widgetset,mvn jetty:run将托管它。如果你搞清楚,请告诉我们问题所在。

答案 1 :(得分:0)

发现我的问题。我使用旧版本的WidgetSet,它是从6.X次离开,并没有用Vaadin 7重新编译。我修复它后 - 它工作正常。

答案 2 :(得分:-1)

看起来您可以调用Window对象的open( URL )方法在相同或新的浏览器窗口中打开另一个URL,以实现重定向到外部站点。

作为替代方案,您可以通过application.setExitUrl()调用设置应用程序的退出URL,然后通过调用application.close()关闭应用程序 - 您的应用程序会话将被关闭,浏览器将重定向到指定的地址。 / p>