请问水晶报表如何传递参数? 如下代码中,在导出pdf前如何传递参数!

newhfy 2005-02-23 04:42:30
<%@ page errorPage = "errorPage.jsp" %>
<%@ page session="true"%>
<%@ page contentType = "text/html; charset=UTF-8" %>
<%@ page import= "java.net.*,
java.util.*,
java.io.*,
javax.servlet.*,
javax.servlet.http.*,
com.crystaldecisions.sdk.occa.report.application.*,
com.crystaldecisions.sdk.occa.report.lib.ByteArray.*,
com.crystaldecisions.sdk.occa.report.exportoptions.*,
com.crystaldecisions.sdk.occa.report.lib.*"
%>

<%
String reportName = (String) session.getAttribute("reportName");
String reportDirectory = "F:\\bea\\user_projects\\mydomain\\applications\\DefaultWebApp\\";

ReportClientDocument clientDoc = new ReportClientDocument();

try {
String rasServerName = "127.0.0.1"; // Localhost
clientDoc.setReportAppServer(rasServerName);

} catch(ReportSDKException e) {
out.println("An error has occurred setting the ReportClientDocument's ReportAppServer.<BR>");
out.println(e);
}

try {
clientDoc.open(reportDirectory + reportName, OpenReportOptions._openAsReadOnly);

} catch(ReportSDKException e) {
out.println("Report could not be opened. Please check that the report is in the same directory or that the value of the ReportName is correct.<BR>");
out.println(e);
}


PrintOutputController poController;

try {
String temp = request.getParameter("format").trim();
if (null != temp) {
session.setAttribute("formatType", temp);
}

String destType = request.getParameter("type");
String strExt = "";
String strMime = "";
poController = clientDoc.getPrintOutputController();

ByteArrayInputStream byteIS = (ByteArrayInputStream) poController.export(ReportExportFormat.from_int(formatType));
strExt = ".pdf";
strMime = "application/pdf";
byte byteArray[] = new byte[byteIS.available()];

int x = byteIS.read(byteArray, 0, byteIS.available());

response.reset();
response.setContentType(strMime);

if (destType.equals("file")) {
response.setHeader("Expires", "0");
response.addHeader("Content-disposition", "attachment; filename=exported" + strExt);
} else {
response.addHeader("Content-disposition", "inline; filename=exported" + strExt);
}
response.getOutputStream().write(byteArray);

} catch (Exception e) {
out.println("An error has occurred while exporting the report.<BR>" + e.toString());
out.println(e);
}

%>
...全文
99 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lihongxing2002 2005-07-17
  • 打赏
  • 举报
回复
up
delbrueck 2005-03-07
  • 打赏
  • 举报
回复
先传递参数再导出阿。

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧