我得到了一个登录窗口,根据RPC响应,将显示另一个窗口。我想知道的是如何初始化第二个窗口。我尝试了onReset和onReveal方法,但就像它们从未被触发一样,此外,当重置值时,使用destroy()将永久地杀死我的窗口。我最后有了下面的解决方案,但我觉得不是很有效,有人能给我推荐一个方法吗?
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);
}
试试这样
@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 盟 com 意外上升 client 主持人 SignInPagePresenter.java来自Serendipity应用程序的一个使用SmartGWT + GWTP完成的登录示例:
http://code.google.com/p/crmdipity/downloads/detail?name=Serendipity-0.6.0.zip&能= 2,q =