【发布时间】:2012-11-08 12:15:42
【问题描述】:
我希望我的小型 GWT 应用程序具有以下所有“可书签”Places:
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)
所以我继续创建了 5 个Place 子类,所有这些子类都采用以下形式:
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) {
// ???
}
}
PlaceTokenizer<T> 子类和 MyWebAppPlaceHistoryMapper 中的配套 getPlace/getToken 方法似乎在做同样的事情。 是吗?如果是,我是否只在它们内部使用相同的代码?如果它们不一样,它们有何不同,我应该如何实现它们?
请记住我希望将 URL 标记作为应用程序中的可收藏位置 - 我不想使用 GWT 的默认 someDisplay:SomePlace 标记。提前致谢!
【问题讨论】:
标签: java gwt gwt-places