У меня есть сценарий, в котором мне нужно отобразить таблицы (сгенерированные с помощью JTable), преобразовать их в изображение png, а затем отобразить их с помощью сервлетов.
Ниже приведен код в сервлете для отображения таблицы:
{
table = u.generateTableChart("datamonth");
saveToServlet(table, table.getTableHeader(), p_resp);
}
void saveToServlet(JTable table, JTableHeader header,
HttpServletResponse p_resp)
{
int w = Math.max(table.getWidth(), header.getWidth());
int h = table.getHeight() + header.getHeight();
OutputStream out = null;
BufferedImage bi = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
Graphics2D g2 = bi.createGraphics();
header.paint(g2);
g2.translate(0, header.getHeight());
table.paint(g2);
g2.dispose();
try {
p_resp.setContentType("image/png");
out = p_resp.getOutputStream();
ImageIO.write(bi, "png", out);
} catch (IOException ioe) {
System.out.println("write: " + ioe.getMessage());
}
}
Кажется, это выдает эту ошибку, когда я пытаюсь просмотреть его на веб-странице. Невозможно отобразить изображение, так как в нем слишком много ошибок.
Я могу сохранить файл во временном местоположении и увидеть график.
Для диаграмм, созданных с использованием JFreeCharts, я использую это:
ServletOutputStream out = null;
try {
out = p_resp.getOutputStream();
p_resp.setContentType("image/png");
chart=u.genarateLineChart(m_martiniInstance);
ChartUtilities.writeChartAsJPEG(out, chart, 625, 500);
}
и все же не удача
Заранее спасибо, Бхавья