2009-07-16 4 views
0

Ich habe ein Diagramm mit JFreeChart in einer JSP erstellt. Ich möchte dieses Diagramm in einer Webseite mit JSP rendern, ohne das Bild als JPEG/PNG-Datei zu speichern. Dies ist in der Google App-Engine-Umgebung, die does not support writing to disk.Rendering-Diagramm in Jsp ohne Speichern

Ich habe versucht, die folgenden:

java.awt.image.BufferedImage chartImage = targetChart.createBufferedImage(600,400); 
ServletOutputStream out1 = response.getOutputStream(); 
JPEGImageEncoder encoder= JPEGCodec.createJPEGEncoder(out1); 

aber am Ende ein BTW

java.lang.IllegalStateException: STREAM 

bekommen, ist java.awt auch in der App Engine-Umgebung nicht erlaubt. Welche Möglichkeiten habe ich, um dieses Problem zu lösen?

Antwort

0

Nur um zu verdeutlichen, ist der obige JSP-Code für JSP, der in <img src="..."> angegeben ist, richtig? Stellen Sie sicher, dass Sie keine Leerzeichen/neue Zeilen irgendwo außerhalb von <% %> Tags auf dieser Seite haben, sonst werden sie in JspWriter geschrieben, die Sie daran hindern würde, OutputStream zu erhalten. Ich bin mir ziemlich sicher, dass das das Problem ist, das Sie jetzt haben.

1

Ich habe den JfreeChart Ansatz aufgegeben und die Google Chart API verwendet, um das Tortendiagramm zu erstellen.Ex.

<IMG SRC="http://chart.apis.google.com/chart?chco=FF3300,66CC33&cht=p3&chl=A|B|C|D&chs=500x200&chd=t:10,40,30,20&chtt=Your%20Chart" 
+0

+1, IMO Google Diagramm API ist es wert, empfohlen zu werden. – dantuch

Verwandte Themen