gpt4 book ai didi

java - 如何使用自定义 token 实现 GWT PlaceHistoryMapper?

转载 作者:搜寻专家 更新时间:2023-11-01 02:49:54 24 4
gpt4 key购买 nike

我希望我的小型 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)

所以我继续创建了 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) {
// ???
}
}

同伴 getPlace/getToken PlaceTokenizer<T> 中的方法子类和 MyWebAppPlaceHistoryMapper似乎在做同样的事情。 是吗?如果是这样,我是否只在它们中使用相同的代码?如果它们不一样,它们有何不同,我应该如何实现它们?

请记住我想要作为应用程序中可 Collection 位置的 URL 标记 - 我不想使用 GWT 的默认值 someDisplay:SomePlace token 。提前致谢!

最佳答案

要么使用带有 @WithTokenizers 注释的接口(interface)并让 GWT 从 GWT.create(MyWebAppPlaceHistoryMapper.class) 生成实现,要么实现 “手动”放置 PlaceHistoryMapper 接口(interface),您不需要 PlaceTokenizer

使用 GWT.create(),GWT 将实现 getPlacegetToken 方法以分发到适当的 PlaceTokenizer 取决于 token 的前缀(使用 if…elseprefix.equals(...) 的级联,基于PlaceTokenizer 上的 @Prefix 注释)或 Place 的类型(使用 if…else 级联instanceof,基于 PlaceTokenizer 的通用类型)。

关于java - 如何使用自定义 token 实现 GWT PlaceHistoryMapper?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13288957/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com