【发布时间】:2015-09-07 12:58:06
【问题描述】:
我正在以编程方式生成 html 页面。
我在这个 src 上有一个 href
"https:/www.w.com/editor/?lon=-72.382769&lat=41.324657"
但是当我像这样生成 html 时:
private Span getEditorSpan(CompleteRoutingResponseShort response) {
Span span4 = new Span();
for (int i = 0; i < response.alternatives.size(); i++) {
String editorUrl = editorUrlGenerator
.generateUrl(response.alternatives.get(i).response.results);
A a3 = new A();
a3.appendText("alt " + i);
a3.setTitle(response.alternatives.get(i).alternative_regression_id);
a3.setHref(editorUrl);
span4.appendChild(ImmutableList.of(a3, new Span().appendText("   ")));
}
return span4;
}
结果是指向:
"http://localhost:63342/https:/www.w.com/editor/?lon=-72.382769&lat=41.324657"
这是生成的 html:
<span><a title="358_0" href="https:/www.w.com/editor/?lon=-71.18612999999999&lat=42.21286&zoom=4&segments=63385498,76487105,22543109,22503638,22527613,76599462,76599461,76599460">alt 0</a><span> </span></span>
如何使 url 直接在我的 localhost 域之外?
这是我的网址生成器:
UriBuilder builder = UriBuilder
.fromPath(Constants.EDITOR_BASE_URL)
.scheme("https");
builder.queryParam("lon", firstPath.x)
.queryParam("lat", firstPath.y)
.queryParam("zoom", 4)
.queryParam("segments", segmentsInUrl);
return builder.build().toString();
【问题讨论】:
-
这是因为你在 http: 后面只有一个斜杠
-
你的
https:/错了,应该是https://,这解释了为什么浏览器回退到一个相对的url而不是一个完整的,检查你的数据源 -
如何更改我的 uri builder?
-
如果您发布您的
editorUrlGenerator.generateUrl()方法,我们可以帮助您找到那个单斜线。 -
任何答案都能解决您的问题吗?如果是,请选择正确的答案。