отчет по вызову от класса действий - PullRequest
0 голосов
/ 18 января 2012

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

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

1 Ответ

1 голос
/ 18 января 2012

Я полагаю, вы пытаетесь отправить билет в формате 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

...