![]() |
|
||||||||||||||
| | 网站首页 | 数据库教程 | web编程 | 服务器 | 程序设计 | | ||
|
||
|
|||||
| 使用eclipse在jsp上显示水晶报表(二)后台代码例子 | |||||
作者:佚名 文章来源:不详 点击数: 更新时间:2007-9-2 ![]() |
|||||
|
正在装载数据…… 在(一)中的配置保持不变,前一篇是用crviewer标签来实现jsp显示水晶报表的 这篇文章教你如何自己写代码来享受水晶报表的 report_source.jsp <%@page contentType="text/html"%> <%@page pageEncoding="UTF-8"%>![]() <%//Crystal Java Reporting Component (JRC) imports.%> <%-- jrcerom.jar--%> <%@page import="com.crystaldecisions.reports.sdk.*" %> <%-- rascore.jar--%> <%@page import="com.crystaldecisions.sdk.occa.report.lib.*" %>![]() <% //水晶报表的位置 final String REPORT_NAME = "view_report.rpt"; %>![]() <%![]() ![]() try ...{ //打开报表 ReportClientDocument reportClientDoc = new ReportClientDocument(); reportClientDoc.open(REPORT_NAME, 0);![]() //把报表源放进session,传递到报表显示页面 session.setAttribute("reportSource", reportClientDoc.getReportSource()); //转到报表显示页面 response.sendRedirect("CrystalReportViewer.jsp"); }![]() catch(ReportSDKException ex) ...{ out.println(ex); }![]() catch(Exception ex) ...{ out.println(ex); } %>上面的可以封装到javabean里面 reportClientDoc.getDatabaseController().logon(USERNAME, PASSWORD);设置数据库的登陆用户,如果浏览这个报表的用户需要设置不同的权限的话,那就需要设置上面这个了 CrystalReportViewer.jsp <%@page contentType="text/html"%> <%@page pageEncoding="UTF-8"%>![]() <%//Crystal Report Viewer imports.%> <%-- webreporting.jar--%> <%@page import="com.crystaldecisions.report.web.viewer.*"%> <%-- rascore.jar--%> <%@page import="com.crystaldecisions.reports.sdk.*" %>![]() <% //建立一个viewer对象实例,并设置 CrystalReportViewer viewer = new CrystalReportViewer(); viewer.setOwnPage(true); viewer.setOwnForm(true); viewer.setPrintMode(CrPrintMode.ACTIVEX);![]() //从session中取报表源 Object reportSource = session.getAttribute("reportSource"); viewer.setReportSource(reportSource);![]() //显示水晶报表 viewer.processHttpRequest(request, response,this. getServletConfig().getServletContext(), null); ![]() %>第二种方法直接用一个页面 CrystalReportViewer.jsp <%@page contentType="text/html"%> <%@page pageEncoding="UTF-8"%>![]() <%//Crystal Java Reporting Component (JRC) imports.%> <%-- jrcerom.jar--%> <%@page import="com.crystaldecisions.reports.sdk.*" %> <%-- rascore.jar--%> <%@page import="com.crystaldecisions.sdk.occa.report.lib.*" %> <%-- webreporting.jar--%> <%@page import="com.crystaldecisions.report.web.viewer.*"%>![]() <% //水晶报表的位置 final String REPORT_NAME = "view_report.rpt"; %>![]() <%![]() try ......{ //打开报表 ReportClientDocument reportClientDoc = new ReportClientDocument(); reportClientDoc.open(REPORT_NAME, 0);![]() //把报表源放进session,传递到报表显示页面 //session.setAttribute("reportSource", reportClientDoc.getReportSource());![]() //建立一个viewer对象实例,并设置 CrystalReportViewer viewer = new CrystalReportViewer(); viewer.setOwnPage(true); viewer.setOwnForm(true); viewer.setPrintMode(CrPrintMode.ACTIVEX);![]() //从session中取报表源 //Object reportSource = session.getAttribute("reportSource"); //viewer.setReportSource(reportSource); viewer.setReportSource(reportClientDoc.getReportSource());![]() //显示水晶报表 viewer.processHttpRequest(request, response,this. getServletConfig().getServletContext(), null); ![]() //转到报表显示页面 //response.sendRedirect("CrystalReportViewer.jsp"); }![]() catch(ReportSDKException ex) ......{ out.println(ex); }![]() catch(Exception ex) ......{ out.println(ex); } %>个人感觉第一种方法好,报表源跟显示分开,安全,重用方便 本文来源:http://blog.csdn.net/lin49940/archive/2007/07/26/1708690.aspx
|
|||||
| 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 网站地图 | 管理登录 | | |||
|