2011-10-27 144 views
1

我得到一个登录窗口,根据RPC响应,它会显示另一个窗口。我想知道的是如何初始化第二个窗口。我试着onReset和onReveal方法,但是就像他们从不触发,另外,当重置值时,使用destroy()会永久地杀死我的窗口。我结束了以下解决方案,但我觉得效率不高,有人可以推荐我做一个方法吗?GWT平台+ SmartGWT:链接弹出窗口

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); 
    } 

回答

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 从情缘应用与完成登录的样本SmartGWT + GWTP:

http://code.google.com/p/crmdipity/downloads/detail?name=Serendipity-0.6.0.zip&can=2&q=