2012-05-01 17 views
0

WebアプリケーションでBIRT 3.7.2レポートエンジンを統合しました。問題は、特定の場所でHTMLページを作成する(HTMLのレンダリングフォーマットを使用している場合)ということです。Birt 3.7.2統合レポートhtmlのデプロイ

レポートのhtmlページを保存したくない代わりに、私のWebアプリケーションに直接HTMLを表示したい(一時的に保存され、使用後に削除されます)。また、画像ディレクトリ&を作成し、埋め込まれた画像やグラフを含むレポートを作成し、画像やグラフを画像ディレクトリに不要なスペースを増やすことなく保存できます。

誰かが私を助けることができます.. ??

私はで示す手順に従っている: https://dev.c-ware.de/confluence/display/PUBLIC/Embeding+Birt+into+Application+built+with+Maven

+0

私の質問です:どのように任意のJSPページにBIRTレポートを埋め込むには...?任意のコードの任意の部分は、大きな助けになります.. – wizavi

答えて

0

私はそれを行うにはバートライブラリ掘り下げなかったし、それがあなたのリンクに示しような彼らのAPIを使用して、任意のクラスを作成していないので、これがないかもしれません最も効率的な解決策になります。

これは数ヶ月前のことです。ソースにアクセスすることはできませんが、基本的にはwebappにサーブレットとしてBirtRuntimeをcovered hereとして追加しました。

これにより、Birtレポートを読み込むことができましたが、既存のWebページに埋め込む必要もありました。私はすでに、このアプリケーションでちょうどurlのhtmlコンテンツを読むかなり単純なプロキシサーブレットを持っていました。だから私はBIRTレポートのURLを使ってこのサーブレットを呼びました。私はそれをWebページに置いていました。

プロキシサーブレットは、このようなものだった:

import java.io.IOException; 
import java.io.InputStream; 
import java.net.MalformedURLException; 
import java.net.URL; 

import javax.servlet.ServletException; 
import javax.servlet.ServletOutputStream; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

import org.apache.commons.io.IOUtils; 

public class ProxyServlet extends HttpServlet { 

    public void doGet(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException { 

     String urlString = request.getParameter("url"); 
     try { 
      URL url = new URL(urlString); 
      url.openConnection(); 
      InputStream in = url.openStream(); 
      ServletOutputStream out = response.getOutputStream(); 
      IOUtils.copy(in, out); 
     } 
     catch (MalformedURLException e) {  
      throw new ServletException(e); 
     } 
     catch (IOException e) {  
      throw new ServletException(e); 
     } 
    } 
} 
+0

私はそれを見てあなたの答えをありがとう.. :) – wizavi

関連する問題