2012-01-18 11 views
0

私はJava EE Struts 2とHibernateでプロジェクトを開発しています。今私のすべての仕事が完了し、私はチケットを生成する必要があります。単純なJSPまたはHTMLチケットを生成する代わりに、ダウンロード可能なレポート(JavaのCrystal Reportsなど)を生成したいと考えています。私は、(インターネット上で)スクリプトを使ってBIRTレポートを取得することができるセッションで私のチケット情報を全部持っています。アクションクラスからのバットレポートを呼び出す

私はBIRTについて全く新しいので、BIRTレポートを生成する方法や、自分のアクションクラスから実行エンジンを呼び出す方法を知りたいと思っていました。準備ができていれば、大きな助けになるでしょう。

答えて

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

+0

ありがとうございますが、それは自動的にチケットを生成して表示します。私はinvokationエンジンをBIRTに呼び出す必要があります –

+0

私はそれについてはわかりません。すべて私にはうまく見えます。 – batbaatar

関連する問題