Страница обновится, если какая-либо часть URL-адреса до изменения фрагмента (#).Поэтому, если вы перейдете с foo.com # a на foo.com/?bar=baz#a, будет запущено обновление страницы.
Лучший способ обойти это - просто никогда ничего не менять дофрагмент.Измените foo.com/?bar=baz на foo.com/#bar=baz (или другой вариант) и пусть ваше приложение GWT прослушивает History изменения, вызывая History.addHistoryListener(...)
.
Затем, когда вы услышите изменение истории, проанализируйте фрагмент в URL-адресе и обновите ваше приложение соответствующим образом.
Некоторые библиотеки, такие как gwt-platform , предоставляют оболочку для этой функции и позволяют вам описать Place
s, которые срабатывают, когда фрагмент обновляется, чтобы соответствовать им.Если в итоге вы сделаете много сложных вещей с фрагментом, было бы неплохо разобраться в некоторых местах.Но если вы просто передаете несколько параметров, вы можете просто прослушать History
изменения.