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

私の問題を見つけました。6.X の時代から残っていた古いバージョンの WidgetSet を使用し、Vaadin 7 で再コンパイルしていませんでした。修正した後、正常に動作します。

于 2013-03-20T14:55:12.990 に答える
-1

Window オブジェクトのメソッドを呼び出してopen( URL )、同じブラウザー ウィンドウまたは新しいブラウザー ウィンドウで別の URL を開いて、外部サイトへのリダイレクトを実現できるようです。

別の方法として、呼び出しによってアプリケーションの終了 URL を設定し、application.setExitUrl()呼び出しによってアプリケーションを閉じることapplication.close()ができます。アプリケーション セッションが閉じられ、ブラウザが指定されたアドレスにリダイレクトされます。

于 2013-03-20T14:34:52.653 に答える