<%@page import="java.util.Date"%> <%@page import="java.util.HashMap"%> <%@page import="net.sf.jasperreports.engine.export.JRXhtmlExporter"%> <%@page import="net.sf.jasperreports.engine.export.JRHtmlExporterParameter"%> <%@page import="net.sf.jasperreports.j2ee.servlets.ImageServlet"%> <%@page import="net.sf.jasperreports.engine.JRExporterParameter"%> <%@page import="net.sf.jasperreports.engine.export.JRHtmlExporter"%> <%@page import="net.sf.jasperreports.engine.JasperPrint"%> <%@ page contentType="text/html; charset=UTF-8"%> <%@ include file="/common/taglibs.jsp"%> <%@ include file="/common/includeExtJsAndCss.jsp"%> <%-- 报表显示的div --%>
<% StringBuffer sbuffer = new StringBuffer(); int pageIndex = 0; int lastPageIndex = 0; String timeStamp = request.getParameter("currentTime"); String reportName = ""; //报表的名称 try{ if(timeStamp == null ){ timeStamp = ""; } JasperPrint jasperPrint = (JasperPrint)session.getAttribute("JasperPrint"+timeStamp); reportName = jasperPrint.getName(); if(jasperPrint != null){ session.setAttribute(ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE,jasperPrint); String currentTime = new Date().toString(); request.setAttribute("currentTime",currentTime); session.setAttribute("JasperPrint"+currentTime,jasperPrint); JRXhtmlExporter exporter = new JRXhtmlExporter(); if (jasperPrint.getPages() != null){ lastPageIndex = jasperPrint.getPages().size() - 1; } String pageStr = request.getParameter("pageIndex"); try{ if( pageStr != null) pageIndex = Integer.parseInt(pageStr); session.setAttribute("pageIndex", pageIndex); }catch(Exception e){ } if (pageIndex < 0){ pageIndex = 0; } if (pageIndex > lastPageIndex){ pageIndex = lastPageIndex; } exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); exporter.setParameter(JRExporterParameter.OUTPUT_STRING_BUFFER, sbuffer); //加time参数解决 IFrame中的图片存在缓存机制 exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, request.getContextPath()+"../../servlets/image?time="+currentTime+"&image="); exporter.setParameter(JRExporterParameter.PAGE_INDEX, new Integer(pageIndex)); //exporter.setParameter(JRHtmlExporterParameter.HTML_HEADER, ""); exporter.setParameter(JRHtmlExporterParameter.BETWEEN_PAGES_HTML, ""); //exporter.setParameter(JRHtmlExporterParameter.HTML_FOOTER, ""); exporter.exportReport(); } }catch(Exception e){ System.out.print("空页面!"); } %>
  <%=sbuffer.toString()%>  
<%-- 分页导航栏 --%>
<% if (!reportName.equals("apparatusInfusionisType")) { %> <%-- --%> <% } %> 第<%=pageIndex+1%>页,共<%=lastPageIndex+1%>页 <% String currentTimeStr = (String)request.getAttribute("currentTime"); String reportUrl = "/jasperRtp/jasperreportsView.jsp?currentTime=" + currentTimeStr; if (pageIndex > 0) { %> <% } else { %> <% } if (pageIndex < lastPageIndex) { %> <% } else { %> <% } %>