我是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);
}
});发布于 2014-12-26 23:52:03
如果您不关心浏览器客户端页面的状态,则如下所示:
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);
}
});发布于 2014-12-26 22:33:05
我想这很简单:
Window.Location.assign("MenuPage.html");
https://stackoverflow.com/questions/27660153
复制相似问题