Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否必须将bean导入JasperSoftStudio';如果我想访问它的属性,请选择它的类路径?_Java_Jasper Reports - Fatal编程技术网

Java 是否必须将bean导入JasperSoftStudio';如果我想访问它的属性,请选择它的类路径?

Java 是否必须将bean导入JasperSoftStudio';如果我想访问它的属性,请选择它的类路径?,java,jasper-reports,Java,Jasper Reports,我有一个这样的豆子: class PersonBean { String name; String lastName; } 我想将其作为参数传递给jasper,并访问属性name和lastName。是否必须将PersonBean导入jasper的类路径才能实现它 我打算这样访问属性:$p{p_PERSON}.getName() 我尝试使用java.lang.Object作为参数类型,但是jasper尝试强制转换它,这导致了一个异常。尝试将PersonBean类的属性(名称和la

我有一个这样的豆子:

class PersonBean {
    String name;
    String lastName;
}
我想将其作为参数传递给jasper,并访问属性
name
lastName
。是否必须将
PersonBean
导入jasper的类路径才能实现它

我打算这样访问属性:
$p{p_PERSON}.getName()

我尝试使用
java.lang.Object
作为参数类型,但是jasper尝试强制转换它,这导致了一个异常。

尝试将PersonBean类的属性(名称和lastName)作为键和对象作为值放在字符串映射中。将此地图传递给jasper报告。 比如:

Map Map=newhashmap();
PersonBean person=新PersonBean();
map.put(“NAME”,person.getName());
put(“LASTNAME”,person.getLastName());
编译时将此地图传递给jasper报告。 还可以在jasper报告中创建参数NAME和LASTNAME。您可以将参数类型设置为String

尝试将PersonBean类的属性(name和lastName)作为键和对象作为值放在String映射中。将此地图传递给jasper报告。 比如:

Map Map=newhashmap();
PersonBean person=新PersonBean();
map.put(“NAME”,person.getName());
put(“LASTNAME”,person.getLastName());
编译时将此地图传递给jasper报告。
还可以在jasper报告中创建参数NAME和LASTNAME。您可以将参数类型设置为String

我的问题缺少一个重要部分,我更正了它,下面是答案:

看情况

如果您在JasperSoftStudio中编译报告,那么您需要导入bean。 如果没有,那么就没有必要了,这就是我的情况,我在运行时编译报告


简而言之:您需要类路径中的类来编译和运行(显然),在我的例子中,因为我只是在JasperSoftStudio中设计报告,所以没有必要这样做。

我的问题缺少一个重要部分,我更正了它,下面是答案:

看情况

如果您在JasperSoftStudio中编译报告,那么您需要导入bean。 如果没有,那么就没有必要了,这就是我的情况,我在运行时编译报告


简而言之:在我的例子中,您需要类路径中的类来编译和运行(显然),因为我只是在JasperSoftStudio中设计报告,没有必要。

类必须存在才能使用。是的,您需要将其放在类路径中,否则它将无法编译,因为找不到您的类。问题很奇怪,我不能决定它是否广泛,你想理解为什么java需要类路径中的类,还是不清楚你实际上在将它们放入类路径中时遇到了问题?类必须存在才能使用。是的,你需要将它放入类路径中,否则它将无法编译,因为你的类无法找到。问题很奇怪,我不能决定它是否广泛,你想理解为什么java需要类路径中的类,还是不清楚你在将它们放在类路径中时确实有问题?
Map<String, Object> map = new HashMap<>();
PersonBean person = new PersonBean();
map.put("NAME", person.getName());
map.put("LASTNAME", person.getLastName());