天天看點

jasperreport web項目圖示不顯示問題

web應用輸出圖示問題

    這段時間由于項目需要展示圖表兼具輸出pdf、excel等格式的功能,使用了jasperreport,這裡記錄一下我遇到的問題,以及如何解決的。關于如何設計報表就不在這裡說了,畢竟網上搜下也有很多例子的。

    以我要做一個線圖為例。

    1.我使用的是javabean做資料源,是以設計了相應的javabean和其對應的工場類(裡面包含了生成資料的靜态方法--為了在設計報表時可以看到資料用),目标是顯示2個趨勢圖,但是實際值出現一條。

     這個是比較

jasperreport web項目圖示不顯示問題

 的問題了(新手嘛),查證之後了解,series是資料的變值,該值的設定可以顯示多線條。于是再改了報表之後預覽時就出來了。

    2.将*.jasper放到webapp下,在jsp中顯示,結果隻顯示出了靜态文字,圖表沒出來。

    網上搜了,發現很多都有講到,但是不是缺這就是缺那,其實,通過jrhtmlexporter的參數設定imageuri是對的,但是關鍵在于jasperreport生成的圖是以流的方式輸送到頁面上的,jasperreport本身的imageservlet就是幹這個的,是以就試試這種方法:在web.xml中加入如下代碼

jasperreport web項目圖示不顯示問題

<servlet>  

    <servlet-name>imageservlet</servlet-name>  

       <servlet-class>net.sf.jasperreports.j2ee.servlets.imageservlet</servlet-class>  

</servlet>  

<servlet-mapping>  

       <url-pattern>/servlets/image</url-pattern>  

</servlet-mapping>  

 再設定

jasperreport web項目圖示不顯示問題

exporter.setparameter(jrhtmlexporterparameter.images_uri, request.getcontextpath()+"/servlets/image?image=");  

 這樣之後,再運作程式,圖檔就顯示出來了,你可以通過firebug看到确實發出了一個請求去輸出生成的圖表圖檔,是以這樣問題就解決了!

附上我的運作效果圖:

jasperreport web項目圖示不顯示問題