我试图在文本字段中创建一条消息,该消息使用属性文件中的本地化字符串。该字符串有5个参数,1个字符串,2个数字和2个日期。
由于某些原因,我在尝试编译时收到此消息。
JREvaluator类型中的方法msg(String,Object)不适用于参数(String,String,Integer,Integer,Date,Date)
这是文本域
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="5c7c4cab-cbd4-4c0b-8393-c3b5ba3bc856" positionType="Float" x="0" y="0" width="530" height="20"/>
<textElement>
<font size="14" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[msg($R{report.title},$P{QUERY_LEGAL_ENTITY_NAME},
$P{QUERY_START_ACCOUNT_NUMBER},
$P{QUERY_END_ACCOUNT_NUMBER},
$P{QUERY_START_DATE},
$P{QUERY_END_DATE}
)]]></textFieldExpression>
</textField>
这是属性字符串
report.title=Finanskonti for {0} | Konti: {1, number} - {2,number} | Datoer: {3,date} - {4,date}
知道我做错了什么
答案 0 :(得分:4)
我使用此代码
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="5c7c4cab-cbd4-4c0b-8393-c3b5ba3bc856" positionType="Float" x="0" y="0" width="530" height="20"/>
<textElement>
<font size="14" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[msg($R{report.title}, new Object[]{$P{QUERY_LEGAL_ENTITY_NAME},
$P{QUERY_START_ACCOUNT_NUMBER},
$P{QUERY_END_ACCOUNT_NUMBER},
(new SimpleDateFormat("dd-MM-yyyy")).format($P{QUERY_START_DATE}),
(new SimpleDateFormat("dd-MM-yyyy")).format($P{QUERY_END_DATE})}
)]]></textFieldExpression>
</textField>
希望其他人可以使用它。