2016-12-27 38 views
-1

上面的代碼:Html和文本框元件上變量

<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}(其被定義,並且已經測試)在句子的中間?我嘗試了一切,似乎沒有任何工作。

+0

重複:如何把關於Java的jrxml文件的數據?](http:// stackoverfl ow.com/q/41303866/876298) –

+0

您是否嘗試使用之前發佈的解決方案? –

+0

是的。事情是...我也有HTML標籤。所以當我更改爲textField時,它不起作用。 –

回答

0

你的表達式中包含幾個錯誤:

  • 你缺少的字符串
  • 結束的雙引號,你應該逃脫雙引號與\ - 這是一個Java exprission。另一種選擇是使用單引號。

樣品:

<?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> 
+0

使用單引號。非常感謝 –

+0

不客氣:)順便說一句,你可以接受答案 –