java开发调用iReport生成Html报表
来源:互联网 发布:python量化交易 github 编辑:程序博客网 时间:2024/05/29 06:28
1 . 在java项目中新建个文件夹,将 iReport 制作生成的报表Copy到文件夹下,项目中加入相应的JAR包;
2. 编写SpringBean.java:
import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationContextAware;public class SpringBeanUtil implements ApplicationContextAware { private static ApplicationContext applicationContext = null; /** * 取得存储在静态变量中的ApplicationContext. */ public static ApplicationContext getApplicationContext() { return applicationContext; } /** * 从静态变量applicationContext中取得Bean, 自动转型为所赋值对象的类型. */ public static Object getBean(String name) { return applicationContext.getBean(name); } /** * 清除SpringContextHolder中的ApplicationContext为Null. */ public static void clearHolder() { applicationContext = null; } /** * 实现ApplicationContextAware接口, 注入Context到静态变量中. */ public void setApplicationContext(ApplicationContext applicationContext) { // SpringContextHolder.applicationContext = applicationContext; this.applicationContext = applicationContext; } }
3.编写ReportServlet.java:
import java.io.IOException;import java.io.PrintWriter;import java.sql.DriverManager;import java.util.HashMap;import java.util.Map;import javax.activation.DataSource;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import net.sf.jasperreports.engine.JasperRunManager;
public class MReportServlet extends HttpServlet {/** * 打印HTML报表 * */private static final long serialVersionUID=1L;@Overrideprotected void service(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{//DataSource dataSource = (DataSource) SpringBeanUtil.getBean("dataSource");try {response.setContentType("text/html;charset=UTF-8");request.setCharacterEncoding("UTF-8");PrintWriter printWriter = response.getWriter();java.io.File file = null;//得到项目中的iReport文件if(request.getParameter("rpt").equals("jhw")){ file = new java.io.File(this.getServletConfig().getServletContext().getRealPath("/iReport/InventoryOverflowForInOut.jasper"));}Class.forName("oracle.jdbc.driver.OracleDriver");Map<String,Object> map = new HashMap<String,Object>();Object object = request.getParameter("ticket_id");map.put("OVERFLOW_TICKET_ID",object.toString());java.sql.Connection connection = DriverManager.getConnection("jdbc:oracle:thin:@192.168.70.31:1521:orcl","dms_dev","dms_dev");JasperRunManager.runReportToHtmlFile(file.getPath(), map, connection);response.sendRedirect("iReport/InventoryOverflowForInOut.html?id="+object);printWriter.flush();printWriter.close();} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}}}
4. 编写Web.xml:
<servlet> <servlet-name>ireport</servlet-name> <servlet-class>com.ilogst.ireport.MReportServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>ireport</servlet-name> <url-pattern>/ireport</url-pattern> </servlet-mapping>
5.启动项目 , 根据URl传过去的值 在 if else 里调用不同的报表
http://localhost:8080/iReport?rpt=jhw&ticket_id=PO201704170001
1 0
- java开发调用iReport生成Html报表
- java + ireport生成报表
- 直接调用iReport生成的jrxml文件生成报表
- 使用报表开发工具Ireport生成Pdf报表的总结
- 使用报表开发工具Ireport生成Pdf报表的总结
- JasperReport+iReport进行java报表开发
- iReport 5.10生成报表
- IReport与JasperReport生成HTML报表的问题
- IReport与JasperReport生成HTML报表的线条图片问题
- IReport与JasperReport生成HTML报表的问题
- IReport与JasperReport生成HTML报表的线条图片问题
- IReport与JasperReport生成HTML报表的线条图片问题
- IReport与JasperReport生成HTML报表的问题
- iReport+JasperReport报表开发
- Web报表开发:ireport
- iReport报表开发
- ireport报表开发总结
- 报表生成 - 使用JasperReport(iReport)进行WEB开发
- iOS 利用token保持登陆状态
- 给ubuntu14.04Desktop 64Bit版本加一个硬盘(原始的LOG文件)
- 预处理命令
- 支付效果实现
- Redis与spring整合缓存的业务场景使用方法二(使用注解@Cacheable@CacheEvict)
- java开发调用iReport生成Html报表
- Hi3518开发板开发总结
- 图形化界面创建
- 浅谈web应用的负载均衡、集群、高可用(HA)解决方案
- (转)深入理解JavaScript系列(4):立即调用的函数表达式
- 2017年第八届山东省ACM大学生程序设计竞赛后记
- sqlserver 分页
- 给ubuntu14.04Desktop 64Bit版本加一个硬盘(草稿版本)
- 移动端web开发技巧