4

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

这是代码示例:

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

3 回答 3

1

奇怪的是它对你不起作用……这setLocation就是你所需要的。这是一个工作版本:VaadinLocationRedirectmvn package将构建小部件集,mvn jetty:run将托管它。如果您弄清楚了,请告诉我们问题出在哪里。

于 2013-03-20T14:26:43.113 回答
0

发现了我的问题。我使用了旧版本的 WidgetSet,它是从 6.X 时代遗留下来的,并且没有用 Vaadin 7 重新编译。在我修复它之后 - 它工作正常。

于 2013-03-20T14:55:12.990 回答
-1

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

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

于 2013-03-20T14:34:52.653 回答