2011-03-31 54 views
1

我正在使用MVP模式創建GWT應用程序。我有一個使用DockLayoutPanel的索引頁面。我有dockLayoutPanel的每個部分(例如:NorthView和NorthPresenter)的視圖和主持人。我在中央面板中有四個按鈕(NorthBtn,EastBtn,WestBtn,SouthBtn)。在DockLayoutPanel的各個部分中,UI的任何一個按鈕都應該更改。GWT MVP模式 - 更改事件頁面的不同部分

入口點類:

@Override 
public void onModuleLoad() { 
    RPCServiceAsync rpcService = GWT.create(RPCService.class); 
    HandlerManager eventBus = new HandlerManager(null); 
    AppController appViewer = new AppController(rpcService, eventBus); 

    appViewer.go(RootLayoutPanel.get()); 
} 

的AppController類具有歷史管理和事件處理邏輯的邏輯。 (來自Google文章 - 要處理不是特定於任何演示者的邏輯,而是駐留在應用程序層,我們將介紹AppController組件。)

例如,中心面板中的EastBtn的onClick添加將調用一個新的歷史記號「east」和onValueChange()方法。 EastView和EastPresenter分別創建相應的演示者和視圖:

  1. 如何使用新創建的面板更新現有EastPanel(因爲我沒有處理舊面板)?
  2. 如果用戶在點擊按鈕後添加了書籤,並用帶書籤的鏈接重新訪問該頁面,則流程將到達onValueChange方法並創建EastView和EastPanel。但是,如何重新創建頁面的其餘部分並更新EastPanel?

回答