我希望有人能幫助我解決這個問題,如何更改GWT應用程序中的URL?
當我在GWT中更改頁面時,如何更改地址欄內容? (例如:關於www.mysite.com/aboutus)
此外,如果用戶在地址欄(www.mysite.com/aboutus)輸入GWT應用程序將其轉發到Aboutus頁面?
感謝
我希望有人能幫助我解決這個問題,如何更改GWT應用程序中的URL?
當我在GWT中更改頁面時,如何更改地址欄內容? (例如:關於www.mysite.com/aboutus)
此外,如果用戶在地址欄(www.mysite.com/aboutus)輸入GWT應用程序將其轉發到Aboutus頁面?
感謝
你可以使用activities and places.這是一個方法來組織你的web應用程序。該應用程序將按地點,視圖和活動進行組織,視圖僅包含構建界面的代碼,而活動包含View實際執行的內容。每個地方/活動/視圖對應於一個URL。對於某些應用程序來說,這是一種組織事物的簡單方便的方法。
地址欄是根據你的網頁設置,所以如果你有,說:welcome.html
你必須把這個腳本到它:
<script type="text/javascript" language="javascript" src="module/welcome.nocache.js"></script>
在src attr爲指的是入門級的模塊(通過模塊這裏我的意思是:module.gwt.xml
文件)
所以這個劇本是寫在GWT的Java EntryClass
代表你的「aboutus
」上模塊的邏輯連接你的HTML頁面所以如果你哈瓦與此相關的模塊,一個頁面,你會發現它:
所以它是一對一的:一個網頁到一個模塊
或多對一:多div標籤在一個頁面和更多的邏輯(if-else)
指定任何一段代碼將匹配suitble DIV一個
你應該用你的小工具,導航爲這樣的..
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和 這裏如:這個....
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();
}
});
}
}
您也可以與
newPageButton.addClickHandler(new ClickHandler() { public void onClick(final ClickEvent event) { History.newItem("customer"); } });
通過嘗試JSNI
,你可以找到URL
。
public static native String getURL()
/*-{
var x = "URL: " + location.href;
alert(x);
}-*/;
這是否解決了「我在GWT中更改頁面時如何更改地址欄內容」這個問題?請注意您回答的問題。我已經格式化了你的代碼,以便其他人可以看到你的建議。您需要用4個空格縮進源代碼,否則Stackoverflow不會將其識別爲源代碼。 –
Window.setLocation(「」)不適合你嗎? – sanbhat
如何在請求和導航中執行此操作? – user1560992