2015-11-07 1 views
1

Я зовуперезарядки страница с параметром в фрагменте URL-адрес добавляет дополнительный символ косых черт в Vaadin

getUI().getNavigator().navigateTo("myview/param=myparam"); 

и Navigator открывается вид зарегистрированный как «MyView», где параметры может быть получены из ViewChangeEvent по телефону

event.getParameters() 

, который возвращает «param = myparam». Мой браузер отображает URL-адрес

myapp/#!myview/param=myparam 

Однако, если перезагрузить страницу (например, с помощью F5)

getUI().getNavigator().navigateTo("!myview/param=myparam"); 

(обратите внимание на дополнительный восклицательный знак) будет называться и изменения URL-адреса в

myapp/#!myview//param=myparam 

(обратите внимание на двойную косую черту, которая не должна быть комментарием), что, очевидно, является проблемой, и на самом деле каждая перезагрузка страницы добавляет еще одну косую черту. Я делаю что-то неправильно здесь или как еще это можно решить? Я использую CDIViewProvider, который может представлять интерес.

Примечание: похоже, у кого-то была аналогичная проблема. Vaadin 7 url navigation hashbang но это не отвечает на мой вопрос.

ответ

1

Я не знал, что при нажатии F5 пользовательский интерфейс перезагружается. Был вызван звонок, как

String uriFragment = getPage().getUriFragment(); 
getUI().getNavigator().navigateTo(uriFragment); 

в коде инициализации моего класса пользовательского интерфейса. По-видимому, восклицательный знак включен в return getUriFragment(), то есть возвращает «! Myview/param = myparam». Я исправил это, просто сняв восклицательный знак в этот момент.

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

  • Нет связанных вопросов^_^