私はそれを行うために Birt ライブラリを掘り下げず、リンクに示されているように API を使用してクラスを作成しなかったため、これは最も効率的なソリューションではない可能性があります。
これは数か月前のことで、現在はソースにアクセスできませんが、基本的にはここで説明されているように、BirtRuntime をサーブレットとして webapp に追加しました。
これにより、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);
}
}
}