Vaadin 7 url navigation hashbang

情到浓时终转凉″ 提交于 2019-12-23 04:58:08

问题


I'm trying to fully understand Navigation in Vaadin 7. I read the Navigator Chapter in the Vaadin book but still have some practical questions.

Basically it is about using the bang (!). When do I need to set it and why?

  • There is a view (myview)
  • There is a parameter (param=X)
  • The parameter is identifying a displayed label

Example for browser history:
I need to set the bang (!) or clicking back in the browser does not work, because the parameters is not passed the the views enter function:

private void showInfo(String info) {
    infoLabel.setValue(info);
    Page.getCurrent().setUriFragment("!" + "myview/param=" + info, false);
}

Example for navigation after button click:
I must not set the bang (!) or else the url fragment changes to "#!myview//param=X" (contains double /)

@Override
public void buttonClick(ClickEvent event) {
    getUI().getNavigator().navigateTo("myview/param=X")
}

Am I mixing two concepts here or is there a utility that does that for me and I'm not knowing it? Or do I just have to know about these 2 cases and decide about the bang myself?

Thanks


回答1:


You don't need to set the '!' at all - except you want force your sites to be crawled by search engines (see GoogleDevelopers Spec). Some people even say, these hash bangs are very bad UI practice.

Or is it a requirement for your application that its whole content is indexed by search engines ?



来源:https://stackoverflow.com/questions/20566885/vaadin-7-url-navigation-hashbang

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!