これは私の最初の質問です!
Struts アクションからレポートに Map をパラメータとして渡そうとしています。jrxmlファイルに渡される reportParameters マップにマップを挿入しました。
私の質問は、このマップをjrxmlファイル内で取得できるかどうかです。
より正確には、次のように宣言します。
<parameter name="reportParams.testMap" class="java.util.Map"/>
そして、私はそれを次のように使いたいです:
<textField>
<reportElement style="StyleData" x="240" y="0" width="100" height="23"/>
<textElement textAlignment="Left" verticalAlignment="Top"/>
<textFieldExpression><![CDATA[testMap.get("AR")]]></textFieldExpression>
</textField>
出来ますか?アプリケーションサーバーのログに次のエラーが記録されるため:
No such property: testMap for class: Blank32A4_1336385977531_38171
Error evaluating expression : Source text : testMap.get("AR")
Error evaluating expression : Source text : testMap.get("AR")
私のアクションクラスは次のようになります。
@Injectable
@Results({
@Result(name = "success", type = "jasper", params={"location",
"report.jasper",
"connection", "statsConnection",
"dataSource", "translations",
"reportParameters","reportParams",
"format","PDF"})
})
public class LocalMapStatisticNewAction extends ActionSupport{
...
public String execute() {
reportParams = new Hashtable<String, Object>();
testMap = new Hashtable<String, String>();
testMap.put("AR", "Argentina");
testMap.put("ES", "Spain");
reportParams.put("testMap", testMap);
//Jasper code here
}
...
public Map<String, Object> getReportParams() {
return reportParams;
}
}
どんなヒントでも役に立ちます!