我正在将一个java对象翻译为JasperReports
以进行PDF模板化。
我想映射一个字符串,并根据其值值映射到文本表示。像:
one=this is one string
two=this is two string
three=this is three string
...
如何在jasper报告中添加某种keyvalue映射,以便我可以从java对象中读取属性并将其映射到jasper中?
答案 0 :(得分:1)
JasperReport始终接收Map作为输入参数。在这样的地图中,您可以放置任何您想要的东西,甚至是满足您需求的另一张地图......
因此,您有两种方法可以实现目标:
一,构建自己的地图并将其放在地图中,jasper报告将其作为输入参数...然后,在jasper报告中,定义java.util.Map类型的参数,并将其命名为将您的地图映射到jasper报告输入参数地图中的键(假设您的地图名为MY_MAP)。
稍后,当您需要从MY_MAP中检索值时,请使用表达式$P{MY_MAP}.get(<theKeyToBeTransaled>)
另一个选项是加载ResourceBundle并使用net.sf.jasperreports.engine.JRParameter#REPORT_RESOURCE_BUNDLE
键将其传递给报告...然后,在报告中,使用内置表达式:str(<theKeyToBeTransaled>)
希望这有帮助...