2015-04-23 2 views
1

У меня есть требование создать отчет о декларации заказа, я использую jasper studio для создания шаблона яшмы. в этом шаблоне у меня есть идентификатор заказа, информация о клиенте и его адрес, с этими подробностями я должен создать отчет.Сгенерировать отчет о яшме с использованием java bean bean

я есть ниже отчет яшма код

JasperCompileManager.compileReportToFile("src/main/resource/orderDeclarationForm.jrxml"); 
    JasperPrint jasperPrint = JasperFillManager.fillReport("src/main/resource/orderDeclarationForm.jasper", new HashMap<String, Object>(), new JRTableModelDataSource(getTableModelData())); 
    // JasperExportManager.exportReportToPdfFile("resource/orderDeclarationForm.jrprint"); 
    JasperExportManager.exportReportToPdfFile(jasperPrint, "src/main/resource/orderDeclarationForm.pdf"); 

но вместо JRTableModelDataSource я должен пройти Java класс боба так яшма двигатель должен брать данные из одной Java Bean, я прошел через javabean as datasource где это берет список бобов, но мое требование - это только один компонент, который имеет детали заказа. пожалуйста, мне советы по этому

+0

Прежде всего, это должно быть «src/main/resources», а не «src/main/resource». Во-вторых, вы никогда не должны ссылаться на «src/main/resources» в java-коде. Эта папка должна быть добавлена ​​к классу среды выполнения, и вы должны просто ссылаться на «orderDeclarationForm.jrxml» –

+0

@LanceJava thx для указания, исправит эти –

ответ

1

Если вам нужен только один экземпляр бина быть передан JasperFillManager.fillReport метод, то имеет смысл передать их в качестве параметров, пока их количества осуществима (в вашем случае его только 3).

Map<String,Object> params = new HashMap<String,Object>(); 
    params.put("orderId", xxx); 
    params.put("customerDetails", xxx); 
    params.put("address", xxx); 

Затем пройти этот Params объекта Карты:

JasperPrint jasperPrint = JasperFillManager.fillReport("src/main/resource/orderDeclarationForm.jasper", params, new JRTableModelDataSource(getTableModelData())); 

Пожалуйста, проверьте this ссылки для получения дополнительной информации о том, как читать параметры из вашего файла .jrxml.

Спасибо.

Смежные вопросы