html-имена объектов не отображаются как соответствующий html-символ в отчете jasper - PullRequest
7 голосов
/ 16 декабря 2010

У меня есть запросы, которые извлекают фрагменты текста, которые содержат различные имена html-сущностей, прежде всего € и λ (не фактический символ, например, € или & lambda;) из базы данных. Я использую те же самые запросы, чтобы отобразить пачки текста в браузере и в отчете RTF о яшме. символы всегда отображаются правильно в браузере.

Однако, когда я выполняю запрос в jasper для создания документа rtf, строка € в rtf doc появляется как "& euro", то есть точка с запятой исчезла, поэтому вместо 1000 евро я получаю & euro1000. Ниже текстовое поле из моего отчета. Я попытался обернуть $ P {label.htmlSnippet} в CDATA, но безуспешно, разметка html ... так что не знаете, что еще я могу сделать?

<textField isStretchWithOverflow="true" hyperlinkType="None"> <reportElement positionType="Float" x="375" y="285" width="80" height="12"/> <textElement textAlignment="Right" markup="html"></textElement> <textFieldExpression class="java.lang.String">$P{label.htmlSnippet}</textFieldExpression> </textField>

любая помощь, идеи предложения приветствуются

С уважением John

Ответы [ 2 ]

1 голос
/ 15 августа 2012

Для объекта TextField необходимо установить для его свойства markup значение html.Как вы говорите, &euro; является HTML-сущностью, а не специальным символом RTF.

enter image description here

0 голосов
/ 16 января 2011

Вам нужен isStyledText = "true" в элементе text?Я не уверен;Я использую iReport, и единственный пример, который у меня есть, включает статическое текстовое поле (а не textField, как у вас).У меня есть атрибут isStyledText.

...