2012-05-01 117 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