我必须替换GWT中现有url的协议部分.该java.net软件包有一个专门为此目的构建的类:URL.遗憾的是,GWT 不会模拟java.net包.
如何在不创建自己的解析器的情况下在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);
}
Run Code Online (Sandbox Code Playgroud)
这很难看,但你总是可以创建一个锚元素并从那里提取零件.
AnchorElement a = Document.get().createAnchorElement();
a.setHref("http://test.com/somerandompath");
Window.alert(a.getPropertyString("protocol") + " " + a.getPropertyString("host")) + " " a.getPropertyString("pathname"));
a.removeFromParent();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5641 次 |
| 最近记录: |