如何获取PlaceHistoryMapper标记转换为实际的URL?

时间:2012-11-08 21:54:51

标签: java gwt gwt-places

如果我实现自己的PlaceHistoryMapper

public class MyAppPlaceHistoryMapper implements PlaceHistoryMapper {
    @Override
    public Place getPlace(String token) {
        if(token.equals("home"))
            return new HomePlace();
        else
            return new AboutUsPlace();
    }

    @Override
    public String getToken(Place place) {
        if(place instanceof HomePlace)
            return "home";
        else
            return "about-us";
    }}
}

如果我的网络应用根植于http://www.myapp.com,那么与HomePlaceAboutUsPlace相关联的实际(可收藏)网址是什么?他们是:

  • http://www.myapp.com/homehttp://www.myapp.com/about-us;或
  • http://www.myapp.com/HomePlace:homehttp://www.myapp.com/AboutUsPlace:about-us;或
  • 别的什么?

提前致谢!

1 个答案:

答案 0 :(得分:2)

http://www.myapp.com/#homehttp://www.myapp.com/#about-us

如果您愿意,还可以http://www.myapp.com/#HomePlace:homehttp://www.myapp.com/#AboutUsPlace:about-us。要实现这一点,您可以使用PlaceTokenizers and @WithTokenizers而不是自己实现PlaceHistoryMapper。

这两种方法都很好,这是你的选择。