我希望我的小型 GWT 应用程序具有以下所有“书签” Place
:
http://www.mywebapp.com --> "home page"
http://www.mywebapp.com/login --> login screen
http://www.mywebapp.com/main --> main menu, after logged in
http://www.mywebapp.com/start --> start of a transactional process
http://www.mywebapp.com/complete --> end of transactional process (receipt)
所以我继续创建了 5Place
个子类,所有这些子类都采用以下形式:
public class LoginPlace extends Place {
// Intentionally left void because I'm not sure
// what to implement here...
}
并有相应的分词器:
public class LoginPlaceTokenizer extends PlaceTokenizer<LoginPlace> {
@Override
public LoginPlace getPlace(String token) {
// ???
}
@Override
public String getToken(LoginPlace place) {
// ???
}
}
我正在尝试PlaceHistoryMapper
为我的应用程序实现一个:
@WithTokenizers({
HomePlaceTokenizer.class,
LoginPlaceTokenizer.class,
MainMenuPlaceTokenizer.class
// etc.
})
public class MyWebAppPlaceHistoryMapper implements PlaceHistoryMapper {
@Override
public Place getPlace(String token) {
// ???
}
@Override
public String getToken(Place place) {
// ???
}
}
子类和 in中的伴侣getPlace
/getToken
方法似乎在做同样的事情。他们是吗?如果是这样,我是否只在它们内部使用相同的代码?如果它们不相同,它们有何不同,我应该如何实施它们?PlaceTokenizer<T>
MyWebAppPlaceHistoryMapper
请记住我希望在应用程序中作为可收藏位置的 URL 令牌 - 我不想使用 GWT 的默认someDisplay:SomePlace
令牌。提前致谢!