[英]load html pages on client side on button click
我是GWT的新手。 如何通過單擊按鈕在客戶端加載不同的靜態HTML頁面。 已閱讀並且不希望進入RPC,框架,客戶端捆綁包和以下頁面:
如果客戶端捆綁軟件是我能獲得的最接近的捆綁軟件,請問我有一個非常簡單的示例,假設我要在客戶端加載4個HTML頁面,可通過單擊按鈕進行導航嗎?
據我了解,這些單獨的頁面可能是由UIBinders創建的-如果我寫錯了,請糾正我。
我只有以下代碼,才能在單擊時顯示另一個頁面,這與我想要的方式不起作用。 它還給出了403錯誤:
button.addClickHandler (new ClickHandler(){
@Override
public void onClick (ClickEvent event){
//Window.alert("Hello again");
String winUrl = GWT.getModuleBaseURL();
String winName = "Testing Window";
openNewWindow (winName, winUrl);
}
});
我想這很簡單:
Window.Location.assign(“ MenuPage.html”);
如果您不關心瀏覽器客戶端頁面的狀態,則類似於:
Window.Location.replace(newUrl);
然后,您在newUrl
指向的html頁面可能加載也可能不加載與當前頁面相同的java腳本。
如果您確實希望保留瀏覽器客戶端頁面的狀態,並且只想避免在初始加載時加載靜態頁面(默認情況下,所有頁面都會立即加載),那么代碼拆分就是您的朋友。 原理是將顯示新頁面的代碼包裝在定義代碼拆分的異步調用周圍,例如:
GWT.runAsync(new RunAsyncCallback()
{
@Override
public void onFailure(Throwable reason)
{
Window.alert("Error in fetching the split javascript for page ...");
}
@Override
public void onSuccess()
{
// Code to setup and show your new static page instead of the current page.
// This code will be in a javascript file that won't be loaded at initial page load.
// You must make sure though that the below code does not use/include common code.
RootPanel.get().clear();
RootPanel.get().add(newWidget);
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.