3

我试图在使用属性文件中的本地化字符串的文本字段中创建一条消息。该字符串有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}

有什么想法我做错了什么

4

1 回答 1

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>

希望其他人可以使用它。

于 2013-09-08T17:39:12.227 回答