は、私は私のような、通常、有効なJavaの構文を使用して、String []型の初期値式を設定することができないiReportは今日を発見しましたiReportは変数にこのような単純なもの(私が思うだろう)のようになります。iReportは - 変数 - - String []型初期値は式
名:fruitNames
VariableClass:java.lang.Stringで[]
計算:何も
リセットタイプ:レポート
IncrementType:なし
初期値式:私のレポートテンプレートをコンパイルする新しいString [] { "アップル"、 "バナナ"}
私はエラーを取得する:設定するためのコードエディタで
Compilation exceptions: [email protected]d >net.sf.jasperreports.engine.JRException: Errors were encountered when compiling report expressions c>lass file: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: >calculator_Fruits_1326149102402_537017: 281: unexpected token: Apple @ line 281, column 55. >1 error
初期値私はパーサーが中括弧{}を赤で下線を引いていることに気づきます。これは、iReportがこれらのカッコをparam、field、またはvariableの識別子として解釈するため意味があります。だから私は競合が存在することができますが、誰でも初期値の式フィールドで文字列[]を初期化するために使用する適切な構文を知っていますか?
注:Scriptletの値を設定するだけで問題は解決しましたが、適切な構文が存在する場合はそれを知ることが本当に好奇妙です。
レポートの言語を 'Java'に変更することができます(おそらく今はGroovyです)。 'Stringの助けを借りて配列を初期化しようとすることができます。split(String delimiter) 'メソッド –
文字列の配列を使用する理由は何ですか? –