<%@page import="com.uas.cr.listener.ContextInitListener"%> <%@page import="com.uas.cr.entity.DB"%> <%@page import="com.uas.cr.util.DES"%> <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="com.crystaldecisions.report.web.viewer.CrystalReportViewer,com.crystaldecisions.sdk.occa.report.application.OpenReportOptions,com.crystaldecisions.sdk.occa.report.application.ReportClientDocument,com.crystaldecisions.sdk.occa.report.lib.ReportSDKExceptionBase,java.sql.Connection,java.sql.DriverManager,java.sql.ResultSet,java.sql.SQLException,java.sql.Statement,java.lang.Object"%> <%@page import="java.text.Format"%> <%@page import="com.crystaldecisions.report.web.viewer.CrPrintMode"%> <%@page import="com.businessobjects12.prompting.objectmodel.common.Values"%> <%@page import="com.crystaldecisions.reports.queryengine.collections.Fields"%> <%@page import="com.businessobjects.reports.dpom.processingplan.Field"%> <%@page import="com.crystaldecisions.sdk.occa.report.data.ParameterFieldRangeValue"%> <%@page import="com.crystaldecisions.sdk.occa.report.data.ParameterFieldDiscreteValue"%> <%@page import="com.crystaldecisions.reports.queryengine.collections.ParameterValues"%> <%@page import="com.crystaldecisions.sdk.occa.report.data.ParameterField"%> <%@page import="com.crystaldecisions.reports.reportengineinterface.JPEReportSourceFactory"%> <%@page import="com.crystaldecisions.sdk.occa.report.reportsource.IReportSourceFactory2"%> <%@page import="com.crystaldecisions.sdk.occa.report.data.ConnectionInfos"%> <%@page import="com.crystaldecisions.sdk.occa.report.data.ConnectionInfo"%> <%@page import="com.crystaldecisions.sdk.occa.report.data.IConnectionInfo"%> <%@page import="com.crystaldecisions.sdk.occa.report.reportsource.IReportSource"%> <%@page import="com.crystaldecisions.sdk.occa.report.lib.PropertyBag"%> <% try { // 报表路径 String reportName = request.getParameter("reportfile"); // 条件 String rcondition = request.getParameter("rcondition"); DB db = ContextInitListener.getDB(); if(reportName == null || "".equals(reportName) || db == null) { out.println("非法请求!"); return; } DES des = new DES(); String key = "12345678"; reportName = des.decrypt(reportName, key).replace("%2f", "/"); ReportClientDocument clientDoc = (ReportClientDocument) session.getAttribute(reportName); if (clientDoc == null) { clientDoc = new ReportClientDocument(); clientDoc.setReportAppServer(ReportClientDocument.inprocConnectionString); // Open report clientDoc.open(reportName, OpenReportOptions._openAsReadOnly); // ****** BEGIN POPULATE WITH RESULTSET SNIPPET **************** session.setAttribute(reportName, clientDoc); } // ****** BEGIN CONNECT CRYSTALREPORTPAGEVIEWER SNIPPET **************** // Create the CrystalReportViewer object IReportSourceFactory2 rsf = new JPEReportSourceFactory(); java.util.Locale localetest = java.util.Locale.CHINA; IReportSource rptSource = (IReportSource) rsf.createReportSource(reportName, localetest); ConnectionInfos conninfos = new ConnectionInfos(); IConnectionInfo connInfo1 = new ConnectionInfo(); PropertyBag propertyBag = new PropertyBag(); propertyBag.put("Database Class Name", db.getDriverClassName()); propertyBag.put("CONNECTION_STRING", db.getUrl()); propertyBag.put("Database DLL", "crdb_oracle.dll"); propertyBag.put("Server Type", "JDBC (JNDI)"); propertyBag.put("Use JDBC", "true"); connInfo1.setAttributes(propertyBag); connInfo1.setUserName(db.getUsername()); connInfo1.setPassword(db.getPassword()); conninfos.add(connInfo1); CrystalReportViewer crystalReportPageViewer = new CrystalReportViewer(); crystalReportPageViewer.setDatabaseLogonInfos(conninfos); // set the reportsource property of the viewer crystalReportPageViewer.setReportSource(rptSource); crystalReportPageViewer.setSelectionFormula(rcondition); crystalReportPageViewer.setPrintMode(CrPrintMode.ACTIVEX); crystalReportPageViewer.setOwnPage(true); crystalReportPageViewer.setOwnForm(true); crystalReportPageViewer.setEnableParameterPrompt(false); crystalReportPageViewer.setDisplayGroupTree(false); crystalReportPageViewer.setHasSearchButton(false); crystalReportPageViewer.setHasPrintButton(true); crystalReportPageViewer.setHasExportButton(true); crystalReportPageViewer.setHasLogo(false); crystalReportPageViewer.setGroupTreeWidth(0); crystalReportPageViewer.setDisplayGroupTree(false); crystalReportPageViewer.setHasViewList(false); // Apply the viewer preference attributes // Process the report crystalReportPageViewer.processHttpRequest(request, response, application, out); // ****** END CONNECT CRYSTALREPORTPAGEVIEWER SNIPPET **************** } catch (ReportSDKExceptionBase e) { out.println(e); } catch (Exception e) { out.println(e); } %><%!// Simple utility function for obtaining result sets that will be pushed into the report. // This is just standard querying of a Java result set and does NOT involve any%> 报表