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...
}
그리고이 해당 tokenizers :
public class LoginPlaceTokenizer extends PlaceTokenizer<LoginPlace> {
@Override
public LoginPlace getPlace(String token) {
// ???
}
@Override
public String getToken(LoginPlace place) {
// ???
}
}
나는 내 AP에 대한 PlaceHistoryMapper
을 구현하기 위해 노력하고있어 P 다음 PlaceTokenizer<T>
서브 클래스와 MyWebAppPlaceHistoryMapper
에서
@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
방법은 같은 일을하고있는 것 같다. 그들입니까? 그렇다면 양쪽 모두에서 동일한 코드를 사용합니까? 그것들이 동일하지 않다면 어떻게 다릅니 까? 어떻게 구현해야합니까?
GWT의 기본값 인 someDisplay:SomePlace
토큰을 사용하지 않으려는 앱의 북마크 할 수있는 곳으로 원하는 URL 토큰을 기억하십시오. 미리 감사드립니다!
감사합니다. @Thomas Broyer (+1) - 그건 의미가 있습니다. 토큰을 커스터마이징 할 때,''getToken (Place place)'메소드를 어떻게 구현하여'/ login'의 토큰이'http : //www.mywebapp에 북마크 된'LoginPlace'에 대한 토큰이되도록할까요? .com/login'? ** 다시 한 번 감사드립니다! –
'if (instanceof LoginPlace) {return "login"; }','getPlace'와 마찬가지로 : if ("login".equals (token)) {return new LoginPlace(); }'. 그러나'http : // www.mywebapp.com/login'을 사용하는 것은 HTML5'pushState'와'popstate'를 사용하고 서버가 많은 URL을 위해 같은 페이지를 보낼 준비가 필요합니다; https://gist.github.com/1883821 –
감사합니다. 나는 그것을 조사 할 것이다. HTML5 pushState/popState와 'Html5Historian'에 관한 더 깊은 질문은이 질문과 관련이 없으므로 자제하겠습니다. 그러나 (1) HTML5와 호환되는 최신 브라우저에서 웹 앱 사용자를 제한 할 것입니다. ? 그리고 (2) HTML5 pushState/popState가 필요한 이유에 대한 문서가 있습니까? 나는 이것이 GWT의 다른 장소에 북 마킹하는 정상적인 방법이 아니라는 것에 놀랍니다. 언제나처럼, 고마워! –