我有一个登录窗口,根据RPC响应,它会显示另一个窗口。我想知道的是如何初始化第二个窗口。我尝试过onReset和onReveal方法,但就像它们永远不会被触发一样。此外,重置值时,使用destroy()将永久终止我的Window。我最终得到了以下解决方案,但我觉得效率不高,有人可以推荐我一种方法吗?
public void onSuccess(LoginResult result) {
if(result.getResponse().equalsIgnoreCase("OK")){
getView().getUsernameField().setValue("");
getView().getPasswordField().setValue("");
getView().getWindow().hide();
memberWindow.setUsername(username);
memberWindow.loadAppointments(new Date());
((Window) memberWindow.getWidget()).show();
}else{
SC.say("Error", "Login failed because: " + result);
}
答案 0 :(得分:1)
试试这样的东西
@Override
public void onSuccess(LoginResult result) {
CurrentUser currentUser = new CurrentUser(getView().getUserName());
LoginAuthenticatedEvent.fire(eventBus, currentUser);
// notice the place manager call. The transitions between the pages are
// done in GWTP through PlaceManager.revealPlace(PlaceRequest) call.
PlaceRequest placeRequest = new PlaceRequest(NameTokens.mainPage);
getPlaceManager().revealPlace(placeRequest);
}
退房 SRC \ AU \ COM \上扬\偶然性\客户端\演讲\ SignInPagePresenter.java 从Serendipity应用程序中获取使用SmartGWT + GWTP完成登录的示例:
http://code.google.com/p/crmdipity/downloads/detail?name=Serendipity-0.6.0.zip&can=2&q=