gpt4 book ai didi

java - 无法让 BIRT 与 POJO 一起工作

转载 作者:太空宇宙 更新时间:2023-11-04 10:40:46 25 4
gpt4 key购买 nike

我是 java 和报告工具 BIRT 的新手,我正在尝试使用 Birt 中的 Pojo 创建一个简单的报告,但我无法让它工作我在其他项目中创建了我的 java 类并生成了一个 jar 文件,然后我使用它创建了一个数据源,但是当我尝试创建一个数据集时它不起作用,我无法选择类来继续

enter image description here

    package com.test.pojoproject;

import java.io.Serializable;

public class Person implements Serializable {

/**
*
*/
private static final long serialVersionUID = 1L;
private int id;
private String name;
private String address;

public Person(){

}

public int getId() {
return id;
}

public String getName() {
return name;
}

public String getAddress() {
return address;
}

public void setId(int id) {
this.id = id;
}

public void setName(String name) {
this.name = name;
}

public void setAddress(String address) {
this.address = address;
}

}

package com.test.pojoproject;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

public class Main implements Serializable {

/**
*
*/
private static final long serialVersionUID = 1L;

private static List<Person> list = new ArrayList<Person>();
public static void main(String[] args) {
Main.generateData();
Main.getList();

// display created list
//list.forEach(person -> System.out.println(person.getName()));


}

public static void generateData(){
List<Person> list = new ArrayList<Person>();
for (int i = 0; i < 30; i++) {
Person person = new Person();
person.setId(i+1);
person.setName("person " + (i+1));
person.setAddress("address " + (i+1));
list.add(person);
}
Main.list = list;
}

public static List<Person> getList(){
return Main.list;
}

}

最佳答案

我找到了一个解决方案 BIRT 需要使用一个带有 open、next 和 close 方法的类,我将在下面发布我的数据集类

    package com.test.pojoproject;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

public class PersonDataSet {

public Iterator<Person> itr;

public List<Person> getPersons() {
List<Person> persons = new ArrayList<Person>();

for (int i = 0; i < 30; i++) {
Person person = new Person();
person.setId(i+1);
person.setName("person " + (i+1));
person.setAddress("address " + (i+1));
persons.add(person);
}

return persons;
}

public void open(Object obj, Map<String,Object> map) {
}

public Object next() {
if (itr == null)
itr = getPersons().iterator();
if (itr.hasNext())
return itr.next();
return null;
}

public void close() {
}

}

关于java - 无法让 BIRT 与 POJO 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48993603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com