2015-06-22 101 views
0

我以編程方式生成html頁面。如何以編程方式將href設置爲outter網站?

我有這個SRC

"https:/www.w.com/editor/?lon=-72.382769&lat=41.324657" 
然而

一個href當我生成這樣的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("&nbsp&nbsp&nbsp"))); 
    } 
    return span4; 
} 

的結果實際上就是一個HREF到:

"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&amp;lat=42.21286&amp;zoom=4&amp;segments=63385498,76487105,22543109,22503638,22527613,76599462,76599461,76599460">alt 0</a><span>&nbsp;&nbsp;&nbsp;</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(); 
+0

那是因爲你只有一個在http: –

+1

之後的單斜槓你的'https:/'是錯的,它應該是'https://', ain爲什麼瀏覽器在相對url而不是完整的瀏覽器上回退,請檢查您的數據源 –

+0

如何提醒我的uri構建器? –

回答

2

的協議集在您的網址是https:/,而不是 'https://開頭'。這會導致應用程序認爲它是一個相對URL。解決這個問題,之後不應該預先輸入域名http://localhost:63342

0

解決的辦法是改變我UriBuilder:

我從這裏改變了我的UriBuilder

UriBuilder builder = UriBuilder 
      .fromPath("www.w.com/editor/";) 
      .scheme("https"); 

    builder.queryParam("lon", firstPath.x) 
      .queryParam("lat", firstPath.y) 
      .queryParam("zoom", 4) 
      .queryParam("segments", segmentsInUrl); 


return builder.build().toString(); 

這樣:

Path firstPath = results.get(0).path; 

    UriBuilder builder = UriBuilder 
      .fromUri("https://www.w.com/editor/") 
      .queryParam("lon", firstPath.x) 
      .queryParam("lat", firstPath.y) 
      .queryParam("zoom", 4) 
      .queryParam("segments", segmentsInUrl); 


    return builder.build().toString(); 
} 
+0

請把它編輯成你的問題。這將被標記爲「對問題的評論而不是答案」。 – Dropout

相關問題