我的應用程序由幾個部分組成。我想通過更改所有應用程序中的URL來改變區域設置,除了一個小的GWT位置之外,我想保留用戶。我需要在URL中提供語言環境以確保該地點以正確的語言加載。如何在不使用queryParam的情況下設置GWT語言環境onLoad?
我該怎麼辦?
我看到如下選項:
1)創建一個從那個地方獨立的模塊,並使用queryparam作爲區域設置在該模塊的XML設置文件的來源允許。據我瞭解,我需要放下類似<set-configuration-property name="locale.searchorder" value="queryparam,cookie"/>
這可能會起作用,但對於這麼小的任務來說它有點難。
2)另一種選擇是手動實現所需的功能。我寫了下面的代碼:
String languageCode = Window.Location.getParameter("lang");
Cookies.setCookie(COOKIE_NAME, languageCode, new Date(System.currentTimeMillis() * 1000 * 3600 * 24 * 365 * 100));
Scheduler.get().scheduleDeferred(new ScheduledCommand()
{
@Override
public void execute()
{
Window.Location.reload();
}
});
它的工作原理,但問題是有延遲調用:如果我使用它,頁面加載,然後重新加載信號到來和頁面重新加載後開始已經顯示出來。用戶觀察到奇怪的閃爍。如果我沒有使用延遲調用的cookie沒有設置,我不知道爲什麼(你能解釋一下,請問?)。
那麼你將如何解決這個任務?
事實上,大概也就是要做到這一點,謝謝,SSR的最佳途徑。 – KutaBeach