Как получить значение свойства из Java-бина в JavaScript без замены специальных символов - PullRequest
0 голосов
/ 21 июля 2011

У меня есть приложение struts2, и я пытаюсь показать слой KML поверх Google Планета Земля с помощью плагина Google Планета Земля. Я использую: ge.parseKml (kmlString)

Если я добавлю строку 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 не является фиксированной, но будет сгенерирована после того, как пользователь выберет определенные значения. Таким образом, я получаю строку KML из свойства класса Java Bean "kmlStr" следующим образом:

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

Проблема в том, что заменены следующие специальные символы '<' becomes '&lt;' and '>' becomes '&gt;'
Это нарушает метод parseKml, так как символы больше и меньше не интерпретируются (маркер не отображается).

Таким образом, вопрос в том, как мне получить строку из свойства java-компонента 'kmlStr' без '<' and '>' being replaced to "&lt;" and "&gt;" соответственно?

1 Ответ

3 голосов
/ 21 июля 2011

Я думаю, вы можете использовать либо:

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

или

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