Как токены GWT PlaceHistoryMapper преобразуются в реальные URL?

Если я реализую свой собственный 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то, каковы фактические (закладки) URL-адреса, связанные с HomePlace а также AboutUsPlace? Они:

  • http://www.myapp.com/home а также http://www.myapp.com/about-us; или же
  • http://www.myapp.com/HomePlace:home а также http://www.myapp.com/AboutUsPlace:about-us; или же
  • что-то другое?

Заранее спасибо!

1 ответ

Решение

Это http://www.myapp.com/#home а также http://www.myapp.com/#about-us,

Если вы предпочитаете, вы также можете иметь http://www.myapp.com/#HomePlace:home а также http://www.myapp.com/#AboutUsPlace:about-us, Чтобы достичь этого, вы должны использовать PlaceTokenizer и @WithTokenizers вместо того, чтобы реализовывать PlaceHistoryMapper самостоятельно.

Оба подхода хороши, это ваш выбор.

Другие вопросы по тегам