我希望有人能在这个问题上帮助我,
当我在GWT中更改页面时,如何更改地址栏内容? (例如:关于Aboutus www.mysite.com/aboutus)
如果用户在地址栏中输入(www.mysite.com/aboutus),GWT应用程序会将其转发到Aboutus页面?
由于
答案 0 :(得分:1)
您可以使用activities and places.这是构建您的网络应用的一种方式。应用程序将按场所,视图和活动进行组织。视图仅包含构建界面的代码,活动包含View实际执行的操作。每个地点/活动/视图对应一个URL。对于某些应用程序,这是一种简单方便的组织方式。
答案 1 :(得分:0)
地址栏是根据您的网页设置的,如果您有,请说:welcome.html
您必须将此脚本放入其中:
<script type="text/javascript" language="javascript" src="module/welcome.nocache.js"></script>
src attr是指模块中的入口类(我在这里的模块是指module.gwt.xml
文件)
因此,此脚本将您的html页面与GWT Java EntryClass中编写的逻辑连接起来
代表aboutus
上的“www.mysite.com/aboutus
”的模块,因此如果你有一个与此模块相关的页面,你会发现它:
www.mysite.com/aboutus/this_is_html_related_to_aboutus_module.html
所以一对一:一页到一个模块
或多对一:一个页面中的多div标签和更多逻辑(if-else)
指定任何一段代码将匹配合适的div
答案 2 :(得分:0)
您应该使用您的小部件进行如下导航:
Anchor nameLink = new Anchor();
nameLink.setText(rec.get("userSeq") + " / " + rec.get("userName"));
nameLink.getElement().setAttribute("style", "padding: 5px;");
String url = GWT.getHostPageBaseURL() + GWT.getModuleName() + ".html";
if (GWT.getHostPageBaseURL().contains("localhost") || GWT.getHostPageBaseURL().contains("127.0.0.1")) {
url = url + "?gwt.codesvr=127.0.0.1:9997";
}
nameLink.getElement().setAttribute("style", "padding: 10px;");
nameLink.getElement().setAttribute("href", url + "#customer");
您的控制器或演示者类应该实现ValueChangeHandler<String>
,例如
public final void onValueChange(final ValueChangeEvent<String> event) {
String token = event.getValue();
if (token != null) {
String[] tokens = History.getToken().split(":");
final String token1 = tokens[0];
final String token2 = tokens.length > 1 ? tokens[1] : "";
if (token1.equals("customer")) {
GWT.runAsync(new RunAsyncCallback() {
public void onFailure(final Throwable caught) {
}
public void onSuccess() {
CustomerAuctionView view = CustomerAuctionView.getInstance(service);
CustomerAuctionPresenter presenter = CustomerAuctionPresenter.getInstance(service, eventBus, view);
presenter.run();
}
});
}
}
答案 3 :(得分:0)
您也可以尝试使用
newPageButton.addClickHandler(new ClickHandler() {
public void onClick(final ClickEvent event) {
History.newItem("customer");
}
});
答案 4 :(得分:0)
通过JSNI
,您可以找到URL
。
public static native String getURL()
/*-{
var x = "URL: " + location.href;
alert(x);
}-*/;