我在尝试使用Spring / Hibernate Web应用程序生成Jasper Reports时遇到了很多问题。我有一个填充为HashMap的模型,报告将显示单个条目:语言,格式,日期等,方法是获取与模型中的键对应的参数,例如。
model.put("language", "en"); - java
<parameter name="language" class="java.lang.String"/> - .jrxml
$P{language} - in iReport
我已经尝试将数据作为JRDataSource对象,数组和集合放在模型中,但它根本不起作用。我将数据放在报告的“详细信息”部分中,并且不显示任何内容。但是,如果我将数据放在任何其他部分中,则显示第一个条目,因此我知道信息就在那里。
奇怪的是,即使我在“细节”部分放置静态文本,它仍然显示为空白。当然,当我直接查询数据库或与hibernate连接时,它会工作,但我需要从模型中获取Bean数据。
使Jasper Report显示此信息的正确方法是什么?
我试了几个小时让iReport 3.6连接到我的JavaBeans set DataSource,但它一直给我错误。我的同事表示没有必要连接iReport。
答案 0 :(得分:0)
如果有其他人遇到此问题,我将其降级为iReport 3.5.1并且有效。我的应用程序使用spring 2.5,最新版本的iReport显然存在一些兼容性问题。
注意在最新版本的iReport中使用“兼容模式”是不够的,你必须安装一个旧版本,3.5.1为我工作。
答案 1 :(得分:0)
我编写了一套用于集成Spring MVC 3和Jasper的教程。我还提供了可下载的Maven版本。教程非常详细。此外,应用程序本身也得到了很好的评论。