2011-07-20 56 views
0

我有一個struts2應用程序,我試圖使用Google地球插件在Google地球上顯示KML圖層。我使用:ge.parseKml(kmlString)如何在不替換特殊字符的情況下從java bean中獲取屬性值

如果我把KML字符串中的腳本部分如 var kmlString ='<?xml version=\"1.0\" encoding=\"UTF-8\"?> <kml xmlns=\"http://www.opengis.net/kml/2.2\"> <Document> <Camera> <longitude>-122.444633</longitude> <latitude>37.801899</latitude> <altitude>139.629438</altitude> <heading>-70.0</heading> <tilt>75</tilt> </Camera> <Placemark> <name>Placemark from KML string</name> <Point> <coordinates>-122.448425,37.802907,0</coordinates> </Point> </Placemark> </Document> </kml>';

則該標記顯示了地球上。問題是這個KML字符串不是固定的,而是在用戶選擇某些值後生成的。因此,我從Java bean類屬性「kmlStr」獲取KML字符串是這樣的:

var kmlString='<s:property value="kmlStr"/>';

的問題是,下面的特殊字符替換'<' becomes '&lt;' and '>' becomes '&gt;'
這打破了「parseKml會」的方法,因爲大於和小於符號不解釋(標記不顯示)。

所以問題是我該如何從java bean屬性'kmlStr'中分別獲取字符串,而不是分別使用 '<' and '>' being replaced to "&lt;" and "&gt;"

回答

3

我認爲你可以使用:

var kmlString='<s:property value="kmlStr" escape="false"/>'; 

var kmlString='<s:property value="kmlStr" escapeHtml="false"/>'; 
+0

非常感謝您的幫助。第一個解決方案有效。我希望我會檢查s:property文檔。 – Johnny

相關問題