我必须替换GWT中已经存在的URL的协议部分。 java.net软件包有一个专门为此目的而构建的类:URL。可悲的是GWT does not emulate the java.net package

如何在不创建自己的解析器的情况下在GWT中重新组合url? (我知道UrlBuilder,但是UrlBuilder不会使用现有的URL)

示例:我在字符串“ http://myserver.com/somepath/file.html?param”中有一个url,并且我想用“ https”替换协议部分。

最佳答案

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);
}

07-24 09:32