%@page import="net.sf.jasperreports.engine.*,net.sf.jasperreports.engine.export.*"%><% if (session == null) response.sendRedirect(request.getContextPath()+"/index.jsp"); com.fitbank.jasperserver.WSClient client = (com.fitbank.jasperserver.WSClient)session.getAttribute("client"); if (client == null) response.sendRedirect(request.getContextPath()+"/index.jsp"); String currentUri = request.getParameter("uri"); if (currentUri == null || currentUri.length() ==0) currentUri = "/"; if (currentUri.length() > 1 && currentUri.endsWith("/")) currentUri = currentUri.substring(0, currentUri.length()-1); com.jaspersoft.jasperserver.api.metadata.xml.domain.impl.ResourceDescriptor reportUnit = null; java.io.OutputStream os = null; try { java.util.Enumeration enum_params = request.getParameterNames(); java.util.Map hashMap = new java.util.HashMap(); while (enum_params.hasMoreElements()) { String key = ""+enum_params.nextElement(); System.out.println( key+" => " + request.getParameter( key ) + "\n"); hashMap.put( key, request.getParameter( key ) ); } JasperPrint print = null; synchronized(client){ print = client.runReport( currentUri, hashMap ); } net.sf.jasperreports.engine.JRExporter exporter=null; String format=request.getParameter("format"); if(format==null){ format="html"; } if (format.equals("html")) { response.setContentType("text/html"); response.setCharacterEncoding("UTF-8"); exporter = new net.sf.jasperreports.engine.export.JRHtmlExporter(); request.getSession().setAttribute(net.sf.jasperreports.j2ee.servlets.ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE, print); exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, "image?cache="+(new Double((Math.random()*100000))).intValue()+"&image="); } else if (format.equals("pdf")) { response.setContentType("application/pdf"); exporter = new net.sf.jasperreports.engine.export.JRPdfExporter(); } else if (request.getParameter("format").equals("text")) { response.setContentType("text/plain"); exporter = new net.sf.jasperreports.engine.export.JRTextExporter(); exporter.setParameter(JRTextExporterParameter.CHARACTER_WIDTH, new Integer("8")); exporter.setParameter(JRTextExporterParameter.CHARACTER_HEIGHT, new Integer("4")); } else if (format.equals("xls")) { response.setContentType("application/msexcel"); response.setHeader("Content-Disposition"," inline; filename=report.xls"); exporter = new net.sf.jasperreports.engine.export.JExcelApiExporter(); } os = response.getOutputStream(); exporter.setParameter(JRExporterParameter.OUTPUT_STREAM,os); exporter.setParameter(JRExporterParameter.JASPER_PRINT,print); exporter.exportReport(); return; } catch (Exception ex) { ex.printStackTrace(); if (os != null) { java.io.PrintWriter pw = new java.io.PrintWriter(os); pw.write("
");
ex.printStackTrace(pw);
pw.write("
");
}
else
{
out.write("");
out.write(ex.getMessage()+"
");
ex.printStackTrace( new java.io.PrintWriter(out ));
out.write(ex.getMessage()+"
");
}
//return;
}
%>