2016-07-28 16 views
1

Ich habe zwei Vaadin Ansichten und ich möchte einen Suchvorgang mit diesen beiden Ansichten machen. Meine erste Ansicht enthält eine TextField für Suchparameter und eine Button für Suchprozess. Was ich tun möchte, ist, sobald Benutzer auf den Suchknopf klicken, ich Suchparameter zu meiner zweiten Ansicht senden möchte, und ich werde die Suchmethode von meinen DAO-Klassen hier aufrufen und dann das Suchergebnis anzeigen. Ich bin ein Vaadin-Neuling und ich habe keine Idee, wie man das macht, also würde jede Hilfe geschätzt werden.Vaadin 7 Pass Daten zwischen Ansichten

Antwort

0

Ich erinnere mich, dies zu tun, indem ich die aufrufende Ansicht an die Subview übergeben, die aufgerufen wird. Versuchen Sie, das aufrufende Objekt als Konstruktorparameter an die Unteransicht zu übergeben. Anschließend können Sie in der SubView Listener hinzufügen, die auf verschiedene von Ihnen definierte Ereignisse reagieren.

Zusammenfassung: Erstellen Sie eine Ansicht Klasse, die implementiert/eine Ansicht mit Ihrer Logik und einem Constructor erweitert die vorherige Ansicht zu übergeben (Aufruf Object)

F. E. In der anrufenden Klasse:

ViewX x = new ViewX(this); 

im SubClass

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

Wenn ich die Methoden erinnern würde usw. ich ein besseres Beispiel geschrieben hätte, wie ich Jahre mit Vaadin6 vor gearbeitet ...

1

Der klassische Ansatz, um Daten an eine Ansicht zu übergeben, ist über die Parameter dieser Ansicht (dies ermöglicht dann auch, diese Suche mit einem Lesezeichen zu versehen). Siehe die View Schnittstelle:

void enter(ViewChangeListener.ViewChangeEvent event) 

Diese Ansicht wird navigiert. Diese Methode wird immer aufgerufen, bevor die Ansicht auf dem Bildschirm angezeigt wird. event.getParameters() kann zusätzliche Parameter enthalten, die für die Ansicht relevant sind.

Sie können diese Parameter über den Navigator von der ursprünglichen Ansicht aus senden. Z.B.

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

Sehen Sie ein Beispiel in Handling URI Fragment Path of the Book of Vaadin