在jasperreport服务器中创建的输入控件是否独立?

时间:2012-12-14 09:51:08

标签: parameters jasper-reports ireport jasperserver

我正在使用Ireport 4.8.0创建报告,我将报告编译成jrxml和jasper文件,并在zuckerreport上使用这些文件显示报告。 到目前为止,我创建了许多报告,即使使用字符串参数,它们都可以正常工作。

当我要求创建一个组合框(输入控件)参数时,我被告知这只能使用Jasperreport服务器创建。不只是Ireport。

我的问题是: 如果我在Ireport中使用jasperreport服务器创建的输入控件创建报表并编译报表,报表文件(jrxml和jasper)是否独立? 我的意思是,如果将来我将尝试在没有安装jasperserver的情况下在zuckerreport中运行报告,报告是否仍然有效?报告文件是否包含他们需要工作的所有内容而没有jasperreport服务器,包括我创建的输入控制参数?

1 个答案:

答案 0 :(得分:2)

很难说他们是独立的。我想它们是相关的。它与java的工作方式非常相似。您有*.java*.class个文件,其中class个文件来自java个文件。

因此*.jrxml文件只是一个文本文档,其中包含报告的实际设计,以更人性化的方式。为了运行报告,JasperReports需要JRXML文件的编译版本。 *.jasper文件是编译后的版本,然后用于在运行时执行报告。

JasperServer不是必需的。这取决于你想要做什么。报告在技术上具有编译和执行所需的所有信息。就像我对你上一个问题的评论一样,由你来获取报告所需的任何参数的值,并在执行报告时将它们传递给JasperReports。 JasperServer只是实现此目的的一种手段,并为此提供了更加用户友好的GUI前端。

如果不知道您希望最终用户如何使用/访问您的报告,则很难给出更多指导。但在几乎所有情况下,您都需要创建一个屏幕,提示用户输入报告中所需的参数值,并将它们传递给引擎。

现在说你想动态地想要这一切。最简单的说法是可行的。如果参数基本上是自由形式字段(用户只需键入他们想要的内容),则可以使用JasperReports API获取参数及其类型。然后创建适当的输入字段。当您想要将参数的可能值限制为某个列表时,这显然会崩溃。生成此值列表所需的信息不是JRXMLJasper文件的一部分。