GWT замена для java.net.URL - PullRequest
       1

GWT замена для java.net.URL

15 голосов
/ 30 ноября 2010

Мне нужно заменить часть протокола уже существующего URL в GWT.Пакет java.net имеет класс, созданный именно для этой цели: URL .К сожалению, GWT не эмулирует пакет java.net .

Как я могу собрать URL в GWT, не создавая свой собственный парсер?(Я знаю о UrlBuilder , но UrlBuilder не будет принимать существующий URL)

Пример: у меня есть URL в строке "http://myserver.com/somepath/file.html?param", и я хочу заменитьчасть протокола с «https».

Ответы [ 3 ]

6 голосов
/ 30 ноября 2010
public void onModuleLoad() {
    Button btn = new Button("change protocol");
    btn.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            UrlBuilder builder = Window.Location.createUrlBuilder().setProtocol("https");
            Window.Location.replace(builder.buildString());
        }
    });
    RootPanel.get().add(btn);
}
6 голосов
/ 19 февраля 2012

Это ужасно, но вы всегда можете создать элемент привязки и извлечь из него части.

AnchorElement a = Document.get().createAnchorElement();
a.setHref("http://test.com/somerandompath");
Window.alert(a.getPropertyString("protocol") + " " + a.getPropertyString("host")) + " " a.getPropertyString("pathname"));

a.removeFromParent();
0 голосов
/ 30 ноября 2010

Помогает ли вам Window.Location ? Вы можете прочитать там URL, изменить его и .assign() вернуть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...