当前位置: 首页 > 面试题库 >

我们如何在Jasper Reports中访问bean的参数?

白念
2023-03-14
问题内容

我们如何在Jasper Reports中访问bean的参数?

我必须在Jasper Reports中显示模型(不是集合)的数据。

我将模型作为参数传递给Jasper Report。

Map<String,Object> params = new HashMap<String,Object>();
params.put("object", object);

现在,该对象具有我需要在报告标题部分中显示其数据的字段。

像在jsp中我们一样${object.name}, ${object.phone},在JasperReports中如何实现呢?

我试过了,$P{object.name}但是没有用。

谁能让我知道如何实现这一目标?


问题答案:

有几个步骤可以完成此操作。

1) 定义参数: 这将是参数类型的完整软件包和类名。就像是:

<parameter name="object" class="com.mystuff.User"/>

2) 为所需的值调用getter方法:
将文本字段添加到适当的字段。如果我想getId()在User类中使用该方法的值,则我的文本字段将如下所示:

<textField>
    <reportElement uuid="09bf47a8-8fc7-45c5-911a-c79c3d405ada" x="205" y="22" width="100" height="20"/>
    <textElement/>
    <textFieldExpression><![CDATA[$P{parameter1}.getId()]]></textFieldExpression>
</textField>

3) 在iReport中设置类路径:
如果使用iReport设计报告,则需要告诉它com.mystuff.User类的编译版本位于何处。如果您在Eclipse中,则可以将其指向项目中的bin文件夹,或者如果您有一罐已编译的项目,则可以将其指向。类路径设置位于Tools -> Options -> Classpath Tab



 类似资料:
  • 我正在编写一个需要扩展文件的应用程序,我想确保它与Android Q兼容。看来提供的文档没有解决Android Q中的更改。在Android Q中,将无法使用,所以我们如何访问扩展文件?

  • 我知道如何获取如下查询的参数: 在这种情况下,我可以使用获取参数(例如中的)。 但是,对于类似的url,如何访问变量? 我尝试了,但没有成功。

  • 问题内容: 如何从exec函数之外找到用户名? 问题答案: 您可以将exec函数传递给回调函数。当exec函数确定用户名时,您将使用用户名调用回调。 由于JavaScript的异步特性,您无法执行以下操作: 这是因为该行不会等到上面的函数完成。 回调说明:

  • 问题内容: 我有一个应用程序,它基本上是服务的代理。该应用程序本身是在Jersey上构建的,由Jetty提供。我有这个资源方法: 用户提交POST表单。所有POST请求都通过此方法。除了一个细节外,UriInfo和HttpServletRequest被适当地注入:似乎没有参数。这是我从终端发送的请求: 此处的POST正文显然包含两个参数:foo和biz。但是,当我尝试在代码()中获取它们时,结果是

  • 我有一个应用程序,基本上是一个服务的代理。该应用程序本身是基于Jersey构建的,由Jetty提供服务。我有这个资源方法: 用户提交POST表单。所有POST请求都通过此方法。UriInfo和HttpServletRequest被适当地注入,除了一个细节:似乎没有参数。这是我从终端发送的请求: 这里,POST正文显然包含两个参数:foo和biz。但当我尝试在代码中获取它们时(),结果是一个大小为0

  • 问题内容: C和派生函数的入口点函数具有和(和)参数,但是Swift没有合适的参数:顶级代码只是代码,并且没有参数。 在Swift程序中,如何访问等价的? 问题答案: 进程 刚刚重命名为 CommandLine (自Swift 3.0 8月4日快照以来) (由于某些原因,变更日志中未提及)

  • 问题内容: 您如何访问“工作流程” Jenkins作业的“此构建已参数化”部分中的设置? 测试用例 创建一个工作流作业。 启用“此构建已参数化”。 添加具有默认值的STRING PARAMETER 。 将以下代码添加到: 运行工作。 结果 问题答案: 我认为使用Workflow插件时,变量可以直接使用,而不是通过env。尝试: