index.jsp 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <%@page import="java.util.Locale"%>
  2. <%@page import="com.uas.cr.util.ConnectionUtil"%>
  3. <%@page import="com.crystaldecisions.sdk.occa.report.lib.IStrings"%>
  4. <%@page import="com.crystaldecisions.sdk.occa.report.application.ISubreportClientDocument"%>
  5. <%@page import="com.crystaldecisions.sdk.occa.report.application.DBOptions"%>
  6. <%@page import="java.io.PrintStream"%>
  7. <%@page import="com.crystaldecisions.sdk.occa.report.application.ReportClientDocument"%>
  8. <%@page import="com.crystaldecisions.sdk.occa.report.data.ConnectionInfoKind"%>
  9. <%@page import="com.crystaldecisions.sdk.occa.report.lib.PropertyBag"%>
  10. <%@page import="com.crystaldecisions.sdk.occa.report.data.ConnectionInfo"%>
  11. <%@page import="com.crystaldecisions.sdk.occa.report.application.OpenReportOptions"%>
  12. <%@page import="java.io.ByteArrayOutputStream"%>
  13. <%@page import="com.crystaldecisions.sdk.occa.report.data.IConnectionInfo"%>
  14. <%@page import="com.crystaldecisions.sdk.occa.report.data.ConnectionInfos"%>
  15. <%@page import="com.uas.cr.entity.DB"%>
  16. <%@page import="com.uas.cr.listener.ContextInitListener"%>
  17. <%@page import="java.io.File"%>
  18. <%@page import="com.uas.cr.util.DES"%>
  19. <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  20. <%
  21. try {
  22. String key = "12345678";
  23. DES des = new DES();
  24. String reportName = request.getParameter("reportfile");
  25. String enuu = request.getParameter("enuu");
  26. String realPath = application.getRealPath(request.getRequestURI());
  27. java.io.File transFile = new java.io.File(realPath);
  28. reportName = transFile.getParentFile().getParentFile().getPath() + "/rpt"+"/" + enuu + "/" + des.decrypt(reportName, key).toUpperCase().replace("%2f", File.separator);
  29. File file = new File(reportName);
  30. String rcondition = request.getParameter("rcondition");
  31. DB db = ContextInitListener.getDB();
  32. if ( !file.exists() || db == null) {
  33. out.println("非法请求,未找到报表资源 " + reportName);
  34. return;
  35. }
  36. ReportClientDocument clientDoc = new ReportClientDocument();
  37. clientDoc.setReportAppServer(ReportClientDocument.inprocConnectionString);
  38. clientDoc.setLocale(Locale.CHINA);
  39. // Open report
  40. clientDoc.open(reportName, OpenReportOptions._openAsReadOnly);
  41. //set datasource
  42. ConnectionUtil.setDatasource(clientDoc.getDatabaseController(), db);
  43. //set the datasource for the subreports
  44. IStrings subreportNames = clientDoc.getSubreportController().getSubreportNames();
  45. for (int i = 0; i < subreportNames.size(); i++) {
  46. ISubreportClientDocument subreportClientDoc = clientDoc.getSubreportController().getSubreport(subreportNames.getString(i));
  47. ConnectionUtil.setDatasource(subreportClientDoc.getDatabaseController(), db);
  48. }
  49. session.setAttribute("reportSource", clientDoc.getReportSource());
  50. session.setAttribute("condition", rcondition);
  51. // view
  52. response.sendRedirect("viewer.jsp");
  53. } catch (Exception e) {
  54. ByteArrayOutputStream ostr = new ByteArrayOutputStream();
  55. e.printStackTrace(new PrintStream(ostr));
  56. out.println(ostr.toString());
  57. try {
  58. ostr.close();
  59. } catch (Exception e1) {
  60. }
  61. }
  62. %>
  63. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  64. <html>
  65. <head>
  66. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  67. <title>报表</title>
  68. <link rel="shortcut icon" type="image/x-icon" href="img/u.png" />
  69. </head>
  70. <body>
  71. </body>
  72. </html>