Struts2 从action类调用birt报告

Struts2 从action类调用birt报告,struts2,java-ee-6,birt,Struts2,Java Ee 6,Birt,我正在用JavaEEStruts2和Hibernate开发一个航班预订项目。现在我所有的工作都完成了,我必须生成一张票。我希望生成一个可下载的报告(如Java中的Crystal Reports),而不是生成一个简单的JSP或HTML票证。我在一个会话中有我的全部票证信息(就像在互联网上一样),我可以使用脚本在BIRT报告中获得 我对BIRT一无所知,我想知道如何生成BIRT报告,或者从我的一个动作类调用它的执行引擎。任何现成的例子都会有很大的帮助。我想你是在试图向客户发送PDF格式的票据。请使用

我正在用JavaEEStruts2和Hibernate开发一个航班预订项目。现在我所有的工作都完成了,我必须生成一张票。我希望生成一个可下载的报告(如Java中的Crystal Reports),而不是生成一个简单的JSP或HTML票证。我在一个会话中有我的全部票证信息(就像在互联网上一样),我可以使用脚本在BIRT报告中获得


我对BIRT一无所知,我想知道如何生成BIRT报告,或者从我的一个动作类调用它的执行引擎。任何现成的例子都会有很大的帮助。

我想你是在试图向客户发送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;
}
所有学分归以下页面上的作者所有:


Thank将尝试它,但它会自动生成并显示票据..我不会被要求调用调用引擎到BIRTI吗?我不知道。我觉得一切都很好。