2012-05-01 88 views
0

我整合了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

我的問題是:如何嵌入BIRT報表到任何JSP頁面..?任何來源的任何代碼將是一個很大的幫助.. – wizavi

回答

0

我沒有深入到比爾特庫這樣做,並使用他們的API就像它顯示在您的鏈接沒有創建任何類,所以這可能不是成爲最有效的解決方案。

這是幾個月前,我現在無法訪問源代碼,但基本上我只是將BirtRuntime作爲servlet小程序添加到我的webapp中,如covered here

這使我可以加載Birt報告,但我也需要將它們嵌入到現有的網頁中。我已經在這個應用程序中擁有一個簡單的代理servlet,它只會讀取url的html內容。所以我只是使用我的BIRT報告的URL調用這個servlet,並且將輸出放在我想要的網頁上。

代理servlet是這樣的:

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