2009-07-16 3 views
0

Я создал диаграмму с использованием JFreeChart внутри JSP. Я хочу сделать эту диаграмму на веб-странице с помощью JSP, не сохраняя изображение в формате JPEG/PNG. Это в среде движка приложения Google, которая does not support writing to disk.График рендеринга внутри jsp без сохранения

Я попытался следующие:

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

, но в конечном итоге получить

java.lang.IllegalStateException: STREAM 

BTW, java.awt также не допускается в среде App Engine. Какие у меня варианты для решения этой проблемы?

ответ

0

Для уточнения, приведенный выше код JSP предназначен для JSP, указанного в <img src="...">, не так ли? Убедитесь, что у вас нет пробелов/новых строк в любом месте за пределами <% %> тегов на этой странице, иначе они будут записаны в JspWriter, что помешает вам получить OutputStream. Я почти уверен, что это проблема, с которой вы сейчас сталкиваетесь.

1

Я отказался от подхода JfreeChart и использовал API диаграммы Google для построения круговой диаграммы.

<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, API диаграммы Google IMO стоит того, чтобы его рекомендовали. – dantuch

Смежные вопросы