Я передаю список как параметр Jasper следующим образом.Jasper Report Печать пользовательских объектов в Arraylist
Map<String, Object> model=new HashMap<>();
List<CustomObject> issues=new ArrayList<>();
issues.add(new CustomObject(1,"AIRPORT Services","XYZ","asdfa","asdf","asddf"));
issues.add(new CustomObject(1,"AIRPORT Services","XYZ","asdfa","asdf","asddf"));
model.put("issues",issues);
JasperPrint jasperPrint1 = JasperFillManager.fillReport(report, model, new JREmptyDataSource());
Теперь я могу получить issuesList в яшме, но я не могу получить значение внутри CustomObject.
следующих работ и печатают обращение CustomObject итерации с помощью следующей
<textFieldExpression><![CDATA[$P{list}.get($V{ROW_INDEX})]]></textFieldExpression>
Это бросает исключение, когда я хочу, чтобы получить доступ значения поля внутри пользовательского объекта, такие как
<textFieldExpression><![CDATA[$P{list}.get($V{ROW_INDEX}).getCustomMethod()]]>
Исключения:
Exception obtained is: The method getCustomMethod() is undefined for the type Object value = ((java.util.List)parameter_list.getValue()).get(((java.lang.Integer)variable_ROW_INDEX.getValue())).getCustomMethod(); //$JR_EXPR_ID=0$
С помощью Майка Ответ на Print an arraylist content with JasperReports Я повторил свой аррайалист в яшме. Любая помощь высоко ценится.
Я не знаю, яшму, но эта ошибка 'Exception полученный: Метод getCustomMethod() не определено для типа Значение объекта «дает мне впечатление, что объявленный тип экземпляров из списка не является« CustomObject », а просто« Object ». Попробуйте найти способ отбросить их в «CustomObject». – davidxxx
Вы правы Это сработало для меня, когда я печатаю в JRXML как –
Отлично :) Не стесняйтесь писать ответ и принимать его. Это может помочь другим. – davidxxx