2017-01-26 3 views
0

У меня есть эта панель навигации:Vaadin передачи данных для просмотра

enter image description here

При нажатии кнопки запроса, этот кусок кода выполняется:

getUI().getNavigator().navigateTo(viewName) 

Как я могу передать ВЫБ.1 и Select2 данные на другой контроллер или просмотр при выполнении navigateTo?

ответ

-1

Вам нужно использовать фрагменты URI. Вот официальные ссылки:

Managing URI Fragments

Using parameters with views

и пример кода:

getUI().getPage().setUriFragment("value1,value2"); 

enter image description here

+0

ОП использует навигатор, установка фрагмента URI вызовет проблемы. –

0

Вы можете передать затем в навигатор, как это:

getUI().getNavigator().navigateTo(viewName + '/' + value1 + '/' + value2); 

Это будет отображаться в URL, как этот http://website.com/application#!viewname/value1/value2

Вы можете получить значение в вашем новом представлении, как это. Вам нужно будет расширить этот код, чтобы справиться без параметров. Кроме того, поскольку пользователи могут легко изменить URL-адрес, вам нужно будет подтвердить, что эти значения также приемлемы.

@Override 
public void enter(ViewChangeEvent event) { 


    String args[] = event.getParameters().split("/"); 
    String value1 = args[0]; 
    String value2 = args[1]; 
+0

Могу ли я передавать объекты между видами? – daniftodi

+0

Не напрямую. Вы можете хранить объекты в VaadinSession через –

Смежные вопросы