2016-07-28 10 views
1

私は2つのVaadinビューを持っています。これらの2つのビューで検索処理を行いたいと思います。 私の最初のビューには、検索パラメータにTextField、検索プロセスにButtonが含まれています。私がしたいことは、一度ユーザーが検索ボタンをクリックすると、私は2番目のビューに検索パラメータを送信したい、私はここで私のDAOクラスから検索メソッドを呼び出し、検索結果を表示します。私はVaadinの初心者です、そして、私はどのようにこれを行うための任意のアイデアを持っていないので、どんな助けも高く評価されるでしょう。Vaadin 7ビュー間でデータを渡す

答えて

0

私は、呼び出すViewを呼び出すSubviewに渡すことでこれを覚えています。呼び出すオブジェクトをコンストラクタパラメータとしてSubViewに渡してみてください。その後、サブビューで、定義したさまざまなイベントに反応するリスナーを追加できます。

概要: 作成/は、その前のビューを渡すためにあなたのロジックとコンストラクタを持つビューを拡張して実装してビュークラス(呼び出すオブジェクト)

f.e.呼び出し元のクラスで :サブクラス

previousView.getDao().save(...); 

ViewX x = new ViewX(this); 

私はVaadin6で年前に働いていたとして、私はより良い例を書かれていた方法などを覚えているだろう場合は...

1

ビューにデータを渡す従来の方法は、そのビューのパラメータを使用することです(これにより、この検索もブックマークできます)。 Viewインタフェースを参照してください:

void enter(ViewChangeListener.ViewChangeEvent event) 

このビューがナビゲートされます。このメソッドは、ビューが画面に表示される前に常に呼び出されます。 event.getParameters()には、ビューに関連する余分なパラメーターが含まれる場合があります。

これらのパラメータは、元のビューからナビゲータを使用して送信できます。例えば。

navigator.navigateTo("search/searchterm") 
// `search` is your view name, `searchterm` is the passed param 

Handling URI Fragment Path of the Book of Vaadin

の例を参照してください。
関連する問題