簡體   English   中英

如何在gwt中觸發歷史令牌后阻止代碼執行?

[英]How to prevent code to execute after firing of history token in gwt?

我正在使用gwtp framework在gwt2.3應用程序上工作。在此應用程序中,我有一個登錄(索引)頁面,該頁面由客戶端模塊綁定。

bindConstant().annotatedWith(DefaultPlace.class).to(NameTokens.login);

現在,成功登錄后,將觸發一個新的名稱令牌名稱用戶頁面。

     History.newItem(NameTokens.userconsole,true);

現在,我的歷史記錄處理程序如下所示:

公共類NameTokenHandler實現ValueChangeHandler {

@Override
public void onValueChange(final ValueChangeEvent<String> event) {
    System.out.println("Nothing to do");
}

}

我在入口點類中將“ History”添加到如下所示:

History.addValueChangeHandler(new NameTokenHandler());

現在,由於我重寫了onValueChange方法,因此將其留空。

因此,當應用程序首先加載或觸發任何其他名稱令牌時,應首先調用onValueChange,並且由於此方法中沒有代碼,因此不應加載任何內容。

但是在應用程序中它運行良好。 即使onValueChange中沒有代碼,所有名稱令牌也都成功觸發。 我沒有得到如何防止觸發歷史令牌?

請幫幫我。

提前致謝。

因此,當應用程序首先加載或觸發任何其他名稱令牌時,應首先調用onValueChange,並且由於此方法中沒有代碼,因此不應加載任何內容。

如果您使用的是gwtp,則 ValueChangeHandler不會阻止或啟用導航到應用程序特定部分的功能。 全部由PlaceManager處理。

經過一番谷歌搜索后,我開始了解位置管理器。 我正在向歷史記錄添加一個更改處理程序。 已經添加的所有變更處理程序仍然存在。 特別是GWTP的PlaceManagerImpl構造函數中的一個。

如果您確實想防止GWTP處理某些歷史記錄事件,建議您在自定義的PlaceManager中重寫onValueChange(...),攔截要阻止的令牌,並為令牌調用父級的onValueChange您希望GWTP正常處理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM