2016-07-28 60 views
1

我有兩個Vaadin視圖,我想用這兩個視圖進行搜索過程。 我的第一個視圖包含用於搜索參數的TextField和用於搜索過程的Button。我想要做的是,一旦用戶點擊搜索按鈕,我想發送搜索參數到我的第二個視圖,我會在這裏從我的DAO類調用搜索方法,然後將顯示搜索結果。我是一個Vaadin新手,我沒有任何想法如何做到這一點,所以任何幫助將不勝感激。Vaadin 7通過視圖之間的數據

回答

0

我記得通過將調用View傳遞給被調用的子視圖來執行此操作。嘗試將調用對象作爲構造函數參數傳遞給子視圖。之後在SubView中,您可以添加對您定義的各種事件做出反應的監聽器。

摘要: 創建視圖類,它實現/擴展了你的邏輯和構造一個視圖通過先前視圖(調用對象)

F.E. 在調用類:

ViewX x = new ViewX(this); 
在子類中

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

如果我能記得的方法等,我會寫一個更好的例子,因爲我多年前曾與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

一個例子