样式文本无效

时间:2016-08-08 03:59:25

标签: jasper-reports

我得到了这个文本字段表达式:

"declared in the name of <style isBold=\"true\" isUnderlined=\"true\"> " + $F{owner.name} + "</style>"

owner.name包含以下字符:.&

当我在Java中运行代码时,输​​出与表达式相同,粗体下划线不起作用。请注意,我已经检查了文本字段属性中的isStyledText

1 个答案:

答案 0 :(得分:1)

样式化文本被解析为XML,因此如果要在样式化文本中包含文字值,则必须根据XML规则对其进行转义。在您的情况下,问题是&,它不能在XML中显示。

转义XML值的一种方法是使用JasperReports的JRStringUtil,如下所示:

<textFieldExpression><![CDATA["declared in the name of <style isBold=\"true\" isUnderlined=\"true\"> " + net.sf.jasperreports.engine.util.JRStringUtil.xmlEncode($F{owner.name}) + "</style>"]]></textFieldExpression>