textField元素上的Html和变量

时间:2016-12-27 10:36:20

标签: jasper-reports

上面的代码:

<parameter name="userName" isForPrompting="false" class="java.lang.String">
    <defaultValueExpression><![CDATA["Pedro"]]></defaultValueExpression>
</parameter>

..........

<textField>
    <reportElement x="69" y="10" width="422" height="180" uuid="52dc00c8-2cd3-466e-bc37-9dde8d5da625"/>
    <textElement textAlignment="Justified" markup="html">
        <font size="11"/>
        <paragraph lineSpacing="1_1_2"/>
    </textElement>
    <textFieldExpression><![CDATA["Exmo. Senhor/a Diretor/a da Direção Regional do <font color="red">(plataforma preenche diretamente região NUT II), (plataforma preenche morada postal da Direção Regional)</font>
    <br><br><font color="red">"+$P{userName}+"Eu (Nome – automático plataforma )</font>, titular do documento de identificação  n.º  <font color="red">(x – automático plataforma)</font> n.º de registo  <font color="red">(x – automático plataforma)</font>, venho por este meio comunicar  que (escolha a opção ou opções correctas):]]></textFieldExpression>
</textField>

如何在句子中间打印变量$P{userName}(已定义且已经过测试)?我已经尝试了一切,似乎没有任何工作。

1 个答案:

答案 0 :(得分:0)

您的表达式包含多个错误:

  • 你错过了String
  • 末尾的双引号
  • 你应该用\转义双引号 - 这是一个Java表达。另一种选择是使用单引号。

样品:

<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Formatted measures" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
    <property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/>
    <parameter name="userName" class="java.lang.String" isForPrompting="false">
        <defaultValueExpression><![CDATA["Pedro"]]></defaultValueExpression>
    </parameter>
    <title>
        <band height="304">
            <textField>
                <reportElement x="69" y="10" width="422" height="180"/>
                <textElement textAlignment="Justified" markup="html">
                    <font size="11"/>
                    <paragraph lineSpacing="1_1_2"/>
                </textElement>
                <textFieldExpression><![CDATA["Exmo. Senhor/a Diretor/a da Direção Regional do <font color='red'>(plataforma preenche diretamente região NUT II), (plataforma preenche morada postal da Direção Regional)</font><br><br><font color='red'>" +
$P{userName} + " Eu (Nome – automático plataforma )</font>, titular do documento de identificação  n.º  <font color='red'>(x – automático plataforma)</font> n.º de registo  <font color='red'>(x – automático plataforma)</font>, venho por este meio comunicar  que (escolha a opção ou opções correctas):"]]></textFieldExpression>
            </textField>
        </band>
    </title>
</jasperReport>

结果将是:

The result in JSS

同样的结果将使用转义引用:

<textFieldExpression><![CDATA["Exmo. Senhor/a Diretor/a da Direção Regional do <font color=\"red\">(plataforma preenche diretamente região NUT II), (plataforma preenche morada postal da Direção Regional)</font><br><br><font color=\"red\">" +
$P{userName} + " Eu (Nome – automático plataforma )</font>, titular do documento de identificação  n.º  <font color=\"red\">(x – automático plataforma)</font> n.º de registo  <font color=\"red\">(x – automático plataforma)</font>, venho por este meio comunicar  que (escolha a opção ou opções correctas):"]]></textFieldExpression>