0

誰かがこの問題で私を助けてくれるなら、

GWT でページを変更するときにアドレス バーの内容を変更するにはどうすればよいですか? (例: Aboutus www.mysite.com/aboutus)

また、ユーザーがアドレス バー (www.mysite.com/aboutus) に入力すると、GWT アプリケーションはそれを Aboutus ページに転送しますか?

ありがとう

4

5 に答える 5

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();
            }
        });
    }
}
于 2013-05-20T03:08:16.570 に答える
0

で試すこともできます

newPageButton.addClickHandler(new ClickHandler() {
    public void onClick(final ClickEvent event) {
        History.newItem("customer");
    }
});
于 2013-05-20T03:11:34.223 に答える