jasperreport web项目图标不显示问题

简介: web应用输出图标问题     这段时间由于项目需要展示图表兼具输出pdf、excel等格式的功能,使用了jasperreport,这里记录一下我遇到的问题,以及如何解决的。关于如何设计报表就不在这里说了,毕竟网上搜下也有很多例子的。     以我要做一个线图为例。     1.我使用的是javabean做数据源,因此设计了相应的javabean和其对应的

web应用输出图标问题

    这段时间由于项目需要展示图表兼具输出pdf、excel等格式的功能,使用了jasperreport,这里记录一下我遇到的问题,以及如何解决的。关于如何设计报表就不在这里说了,毕竟网上搜下也有很多例子的。

    以我要做一个线图为例。

    1.我使用的是javabean做数据源,因此设计了相应的javabean和其对应的工场类(里面包含了生成数据的静态方法--为了在设计报表时可以看到数据用),目标是显示2个趋势图,但是实际值出现一条。

     这个是比较 的问题了(新手嘛),查证之后了解,series是数据的变值,该值的设定可以显示多线条。于是再改了报表之后预览时就出来了。

    2.将*.jasper放到webapp下,在jsp中显示,结果只显示出了静态文字,图表没出来。

    网上搜了,发现很多都有讲到,但是不是缺这就是缺那,其实,通过JRHtmlExporter的参数设定ImageUri是对的,但是关键在于jasperreport生成的图是以流的方式输送到页面上的,jasperreport本身的ImageServlet就是干这个的,所以就试试这种方法:在web.xml中加入如下代码

Xml代码   收藏代码
  1. <servlet>  
  2.     <servlet-name>ImageServlet</servlet-name>  
  3.        <servlet-class>net.sf.jasperreports.j2ee.servlets.ImageServlet</servlet-class>  
  4. </servlet>  
  5.   
  6. <servlet-mapping>  
  7.     <servlet-name>ImageServlet</servlet-name>  
  8.        <url-pattern>/servlets/image</url-pattern>  
  9. </servlet-mapping>  

 再设置

Java代码   收藏代码
  1. exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, request.getContextPath()+"/servlets/image?image=");  

 这样之后,再运行程序,图片就显示出来了,你可以通过firebug看到确实发出了一个请求去输出生成的图表图片,所以这样问题就解决了!

附上我的运行效果图:

目录
相关文章
|
4月前
|
安全 Java API
Java Web 在线商城项目最新技术实操指南帮助开发者高效完成商城项目开发
本项目基于Spring Boot 3.2与Vue 3构建现代化在线商城,涵盖技术选型、核心功能实现、安全控制与容器化部署,助开发者掌握最新Java Web全栈开发实践。
521 1
|
5月前
|
JavaScript Java 微服务
现代化 Java Web 在线商城项目技术方案与实战开发流程及核心功能实现详解
本项目基于Spring Boot 3与Vue 3构建现代化在线商城系统,采用微服务架构,整合Spring Cloud、Redis、MySQL等技术,涵盖用户认证、商品管理、购物车功能,并支持Docker容器化部署与Kubernetes编排。提供完整CI/CD流程,助力高效开发与扩展。
696 64
|
6月前
|
安全 JavaScript Java
java Web 项目完整案例实操指南包含从搭建到部署的详细步骤及热门长尾关键词解析的实操指南
本项目为一个完整的JavaWeb应用案例,采用Spring Boot 3、Vue 3、MySQL、Redis等最新技术栈,涵盖前后端分离架构设计、RESTful API开发、JWT安全认证、Docker容器化部署等内容,适合掌握企业级Web项目全流程开发与部署。
552 0
|
8月前
|
人工智能 安全 程序员
用 Colab 和 ngrok 免费部署你的 Web UI 项目,随时随地访问!
用 Colab 和 ngrok 免费部署你的 Web UI 项目,随时随地访问!
1058 12
|
缓存 JSON 监控
如何在项目中保证 Web 组件化的性能
保证 Web 组件化的性能需要从多个方面入手,综合运用各种优化方法和策略。通过持续的优化和改进,能够提高组件化的整体性能,为用户提供更好的体验,同时也有助于提高项目的开发效率和质量。
297 64
|
存储 前端开发 JavaScript
如何在项目中高效地进行 Web 组件化开发
高效地进行 Web 组件化开发需要从多个方面入手,通过明确目标、合理规划、规范开发、加强测试等一系列措施,实现组件的高效管理和利用,从而提高项目的整体开发效率和质量,为用户提供更好的体验。
449 63
|
监控 安全 测试技术
如何在实际项目中应用Python Web开发的安全测试知识?
如何在实际项目中应用Python Web开发的安全测试知识?
240 61
|
11月前
|
网络协议 Java Shell
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
774 7
|
11月前
|
安全 Linux 开发工具
零基础构建开源项目OpenIM桌面应用和pc web- Electron篇
OpenIM 为开发者提供开源即时通讯 SDK,作为 Twilio、Sendbird 等云服务的替代方案。借助 OpenIM,开发者可以构建安全可靠的即时通讯应用,如 WeChat、Zoom、Slack 等。 本仓库基于开源版 OpenIM SDK 开发,提供了一款基于 Electron 的即时通讯应用。您可以使用此应用程序作为 OpenIM SDK 的参考实现。本项目同时引用了 @openim/electron-client-sdk 和 @openim/wasm-client-sdk,分别为 Electron 版本和 Web 版本的 SDK,可以同时构建 PC Web 程序和桌面应用(Wi
950 2
|
中间件 Go API
Go语言中几种流行的Web框架,如Beego、Gin和Echo,分析了它们的特点、性能及适用场景,并讨论了如何根据项目需求、性能要求、团队经验和社区支持等因素选择最合适的框架
本文概述了Go语言中几种流行的Web框架,如Beego、Gin和Echo,分析了它们的特点、性能及适用场景,并讨论了如何根据项目需求、性能要求、团队经验和社区支持等因素选择最合适的框架。
1567 1