我查询检索文本片段,其中包含来自数据库的各种html实体名称,最明显的是€
和λ
(不是实际符号,即€或λ)。我使用相同的查询在浏览器和RTF jasper报告中显示大量文本。符号始终在浏览器中正确显示。
然而,当我在jasper中执行查询以生成rtf doc时,€
字符串
在rtf doc中出现“& euro”,即分号消失了,所以我得到的是1000欧元而不是1000欧元。以下是我的报告中的文本字段。我已经尝试在CDATA中包装$ P {label.htmlSnippet}但没有运气,标记是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>
任何帮助,赞赏的想法建议
问候 约翰
答案 0 :(得分:1)
对于TextField
对象,您需要将其markup
属性设置为html
。如你所说,€
是一个HTML实体,而不是RTF特殊符号。
答案 1 :(得分:0)
你在textElement中需要isStyledText =“true”吗?我不确定;我使用的是iReport,我唯一的例子是静态文本框(不是像你一样的textField)。我有isStyledText属性。