是否可以从UI的init()方法使用getPage()。setLocation(...)。在某些情况下,我必须将用户重定向到外部网站。到目前为止,它不起作用(Vaadin 7.0.2)。
以下是代码示例:
@Override
public void init(VaadinRequest request) {
if (myCondition)
getPage().setLocation("http://www.externalsite.com");
else {
....
}
}
答案 0 :(得分:1)
奇怪的是它不适合你... setLocation
就是你所需要的。这是一个工作版本:VaadinLocationRedirect。 mvn package
将构建widgetset,mvn jetty:run
将托管它。如果你搞清楚,请告诉我们问题所在。
答案 1 :(得分:0)
发现我的问题。我使用旧版本的WidgetSet,它是从6.X次离开,并没有用Vaadin 7重新编译。我修复它后 - 它工作正常。
答案 2 :(得分:-1)
看起来您可以调用Window对象的open( URL )
方法在相同或新的浏览器窗口中打开另一个URL,以实现重定向到外部站点。
作为替代方案,您可以通过application.setExitUrl()
调用设置应用程序的退出URL,然后通过调用application.close()
关闭应用程序 - 您的应用程序会话将被关闭,浏览器将重定向到指定的地址。 / p>