java - 如果我想访问 JasperSoftStudio 的属性,是否必须将 bean 导入到 JasperSoftStudio 的类路径中?

标签 java jasper-reports

我有一个这样的 bean :

class PersonBean {
    String name;
    String lastName;
}

我想将它作为参数传递给 jasper,并访问属性 namelastName。是否必须将 PersonBean 导入 jasper 的类路径才能实现?

这就是我打算访问属性的方式:$P{P_PERSON}.getName()

我尝试使用 java.lang.Object 作为参数类型,但随后 jasper 尝试对其进行强制转换,这会导致异常。

最佳答案

尝试将 PersonBean 类的属性(名称和姓氏)放入 String 作为键、Object 作为值的映射中。将这张 map 传递给 jasper 报告。 喜欢:

Map<String, Object> map = new HashMap<>();
PersonBean person = new PersonBean();
map.put("NAME", person.getName());
map.put("LASTNAME", person.getLastName());

在编译时将此 map 传递给您的 jasper 报告。 还要在 jasper 报告中创建参数作为 NAME 和 LASTNAME。可以将参数类型设置为String

关于java - 如果我想访问 JasperSoftStudio 的属性,是否必须将 bean 导入到 JasperSoftStudio 的类路径中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36945525/

相关文章:

java - 执行 jar 文件时没有显示 jasper 报告

Java获取网页源码包含 "null"开头

java - 如何将 3.x 代码升级到 6.3.0,因为它缺少 FontKey 和 PdfFont

java - 贾斯珀报告 : calling report from jar

java - 如何在 Safari 中激活 Java 和 Java 控制台?

mysql - 根据用户id统计出现次数

java - 如何让 JasperViewer 优先考虑 PDF 的保存选项

java - Cloud Dataflow - 增加 JVM Xmx 值(value)

java - 这个java阻塞队列变体可能吗?

java - 如何在矩形的边框上画一个点?