Java 无数据源的Jasperreport

Java 无数据源的Jasperreport,java,jasper-reports,Java,Jasper Reports,如何在没有数据源的情况下显示jasperreport。假设报告从java应用程序接收参数并显示它们 我的方法是仍然将所有文本字段等放入详细信息栏,然后使用新的JREptyDataSource(1)作为数据源。即: filledReport = JasperFillManager.fillReport(report, parameters, new JREmptyDataSource(1)); 将值1传递给构造函数将在数据源中创建一个虚拟记录,因此细节栏只打印一次。我更喜欢这种方法,因为它意味着

如何在没有数据源的情况下显示jasperreport。假设报告从java应用程序接收参数并显示它们

我的方法是仍然将所有文本字段等放入详细信息栏,然后使用
新的JREptyDataSource(1)
作为数据源。即:

filledReport = JasperFillManager.fillReport(report, parameters, new JREmptyDataSource(1));

将值
1
传递给构造函数将在数据源中创建一个虚拟记录,因此细节栏只打印一次。我更喜欢这种方法,因为它意味着报告模板与普通报告模板更相似。另一种方法是使用一个完全空的数据源,然后将所有内容放在不同的波段(例如列标题).

您可以使用Visualize.js概念将Jasper reports从Jasper服务器调用到您的项目/网站。在这种情况下,您可以将参数从应用程序传递到jasperreports并显示它

包括Visualize.js文件

 <script src="http:/(Your Jasperserver Domain):8080/jasperserver-pro/bif/visualize.js"></script>
 <div id="container" class="fill"></div>
 <div id="overlay" class="fill">
 <div id="ajax-icon" class="fill">
 <i class="icon-spinner icon-spin icon-3x"></i>
 <p>Loading...</p>
</div>
</div>  

希望这能帮助你

谢谢,伙计,这很有效!感谢您提供了关于将整数传递给新JREptyDataSource()的更多信息,我不知道您能做到这一点。答案令人惊讶。
BIF.init({
domain: 'http:/(Your Jasperserver Domain)/jasperserver-pro/',
username: 'jasperadmin',
password: 'jasperadmin',
mods: ['reports']
},function(Reports) {
mReport = Reports.open({
uri:'/public/Reports/Report1',
    container: document.getElementById('container'),
        inputParameters: {
        Id:'037e6b40-88e4-11e3-80d4-2673d3ec42cd',
        Range:100,
        ProfileId:'037des70-88e4-11e3-80d4-2673d3ec42cd',
        Theme:'test'
        },
   onReportFinished: function() {
        $('#overlay').hide();
    }
});           
});