отчет о вызове из класса действий

Я разрабатываю проект на Java EE Struts 2 и Hibernate для бронирования авиабилетов. Теперь вся моя работа сделана, и я должен сгенерировать билет. Вместо создания простого билета JSP или HTML я хочу создать загружаемый отчет (например, Crystal Reports в Java). У меня есть вся информация о моем билете в сеансе, который (как и в Интернете) я могу получить в отчете BIRT с помощью сценария.

Я совершенно новичок в BIRT и хотел узнать, как создать отчет BIRT или, возможно, вызвать механизм выполнения из одного из моих классов действий. Любой готовый пример будет отличным подспорьем.


person Shashank gaur    schedule 18.01.2012    source источник


Ответы (1)


Я предполагаю, что вы пытаетесь отправить клиентам билет в формате PDF. Пожалуйста, создайте свой шаблон и передайте параметры, используя следующие строки:

ReportAdminServiceRemote  birtAdmService = (ReportAdminServiceRemote)MXServer.getMXServer().lookup(“BIRTREPORT”);
byte[] abyte0 = birtAdmService .runReport(userInfo, reportName, appName, parameterData, filename, “pdf”);

После того, как вы сгенерировали байты, вы можете сделать это следующим образом:

public String actionDownload() throws Exception{
    response.setHeader("Cache-Control", "no-cache");
    response.setHeader("Content-Disposition","attachment; filename=\"" + example.pdf+ "\"");
    response.setHeader("Expires", "0");
    response.setHeader("Cache-Control","must-revalidate, post-check=0, pre-check=0");
    response.setHeader("Pragma", "public");

    ByteArrayOutputStream baos = new ByteArrayOutputStream();   
    ByteArrayInputStream bis = new ByteArrayInputStream(abyte0);
    inputStream = bis;
    return SUCCESS;
}

Все кредиты принадлежат авторам на этих страницах:

http://www.maximonews.com/?p=65

http://www.coderanch.com/t/432713/Struts/Struts-Files-DownLoad-Streaming-as

person batbaatar    schedule 18.01.2012
comment
Спасибо, попробую, но будет ли он генерировать и отображать билет автоматически... мне не нужно будет вызывать механизм вызова в BIRT - person Shashank gaur; 18.01.2012
comment
Я не знаю об этом. Все выглядит хорошо для меня. - person batbaatar; 18.01.2012