使用 url 片段中的参数重新加载页面会在 vaadin 中添加额外的斜杠字符
reloading page with parameter in url fragment adds extra slash character in vaadin
我正在打电话
getUI().getNavigator().navigateTo("myview/param=myparam");
并且导航器打开注册为 "myview" 的视图,其中参数
可以通过调用
从 ViewChangeEvent 中获取
event.getParameters()
哪个returns"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
但这并没有回答我的问题。
我没有意识到按 F5 时会重新加载 UI。有个电话像
String uriFragment = getPage().getUriFragment();
getUI().getNavigator().navigateTo(uriFragment);
在我的UIclass的初始化代码中。显然感叹号包含在 getUriFragment() 的 return 中,即它 returns "!myview/param=myparam"。我此时通过简单地去除感叹号来解决这个问题。
我正在打电话
getUI().getNavigator().navigateTo("myview/param=myparam");
并且导航器打开注册为 "myview" 的视图,其中参数 可以通过调用
从 ViewChangeEvent 中获取event.getParameters()
哪个returns"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 但这并没有回答我的问题。
我没有意识到按 F5 时会重新加载 UI。有个电话像
String uriFragment = getPage().getUriFragment();
getUI().getNavigator().navigateTo(uriFragment);
在我的UIclass的初始化代码中。显然感叹号包含在 getUriFragment() 的 return 中,即它 returns "!myview/param=myparam"。我此时通过简单地去除感叹号来解决这个问题。