1. ç¼åæ¥è¡¨æº
å¨ä¼è¯åéä¸ç¼åæ¥è¡¨æºä½¿å¾æ¥è¡¨æºå¯è¢«ææå°ä½¿ç¨å¤æ¬¡ãå¨æªç¼åæ¥è¡¨æºæ¶ï¼å¤æ¬¡å建æ°æ¥è¡¨æºçè¿ç¨å°åå¾é常æè´µãèä¸ï¼ç¼åæ¥è¡¨æºè¿å 许å·æ°å å«æä¸å å«å·²ä¿åæ°æ®çæ¥è¡¨ã
以ä¸ç¤ºä¾æ¾ç¤ºäºå¦ä½å¨ä¼è¯åéä¸ç¼åæ¥è¡¨æºï¼
String report = "/reports/sample.rpt";
ReportClientDocument reportClientDoc = new ReportClientDocument();
reportClientDoc.open(report, 0);
Object reportSource = reportClientDoc.getReportSource();
session.setAttribute("reportSource", reportSource);
注æï¼ å¦æè¦ä½¿ç¨ç¼åçæ¥è¡¨æºï¼å¨ä¸å使ç¨æ¥è¡¨æºä¹åï¼è¯·ä¸è¦è°ç¨æ¥çå¨ææ¥è¡¨æºç丢å¼æ¹æ³ã
强ç建议æ¨ç¼åæ¥è¡¨æºï¼ä»¥ä¾¿å¨æ¥çæ¥è¡¨æ¶ç¡®ä¿æ°æ®çä¸è´æ§ãå¦æ使ç¨æªç¼åçæ¥è¡¨æºï¼åä¼å¨æ¥çå¨ææ¥è¡¨æ§ä»¶ä¸æ§è¡ä»»ä½æä½æ¶å建æ°çæ¥è¡¨æºãå æ¤ï¼ä½¿ç¨æªç¼åçæ¥è¡¨æºå°ä¼å¯¼è´æ¥çå¨æ¾ç¤ºå å«å·²ä¿åæ°æ®çä¸äºé¡µé¢ï¼å¹¶åæ¶æ¾ç¤ºå å«å®æ¶æ°æ®çå¦ä¸äºé¡µé¢ã
2. åªææ¥çå¨ç页é¢
å¦æ JSP 页é¢åªå å«æ¥çå¨è没æä»»ä½å ¶ä»å 容ï¼åå¯ä»¥æ§è¡ä¸äºæä½æ¥ç®åæ¥è¡¨æ¥çå®æ½ã
设置 setOwnPage
åå³äºæ¥çå 容ï¼æ¥çå¨è½å¤çæå®æ´ç HTML 页é¢ï¼å¹¶è½è®¾ç½®ç¸åºç页é¢å±æ§ãå° setOwnPage 设置为 true 使æ¥çå¨è½å¤å®æ´å°å¤çå¨å´ç HTML å 容ï¼ä»è带æ¥è¥å¹²å¥½å¤ãå 许æ¥çå¨å¤çå¨å´ç HTML å 容å¯ä»¥åå°éè¦å JSP 页é¢ä¸æ·»å ç代ç éï¼å¹¶ä½¿æ¥çå¨è½å¤èªå¨ç¡®å®æäºè®¾ç½®ï¼
å®å 许æ¥çå¨æ ¹æ®ç¨äºæ¥ç页é¢ç设å¤æ¥éæ©ä½¿ç¨åªäºé¡µé¢å¼å§åç»ææ è®°ã
ä¾å¦ï¼å¯¹äº Web æµè§å¨ï¼æ¥çå¨ä¼ååº <html> å¼å§æ è®°ï¼è对äºç§»å¨è®¾å¤ï¼åä¼ååº <wml> å¼å§æ è®°ã
注æï¼ Java Reporting Component ä¸æ¯æçæç¨äºå¨ç§»å¨è®¾å¤ä¸æ¾ç¤ºçæ¥è¡¨ã
å®è½å¤æ£ç¡®å°ä¸ºé¡µé¢è®¾ç½®å 容类ååå符éä¿¡æ¯ãè¿ç¡®ä¿äºå å«å½é å符ç页é¢è½æ£ç¡®æ¾ç¤ºã
å®è½å¤èªå¨å¨æ¥çå¨ä¸å¯ç¨å¯¼åºåæå°æé®æ¯æã
å¦æ setOwnPage 为 falseï¼åéè¦æå¨è®¾ç½®å¨å´ç HTML æ 记以å content-type å charset æ令ãæ¤å¤ï¼å½ setOwnPage 为 false æ¶ï¼æå°å导åºåè½å°è¢«ç¦ç¨ã
ä½¿ç¨ processHttpRequest æ¹æ³
å½ setOwnPage 设置为 true æ¶ï¼æ¨å¿ é¡»ä½¿ç¨ processHttpRequest æ¹æ³ï¼èä¸æ¯ getHtmlContent æ¹æ³ï¼æ¥æ¾ç¤ºæ¥è¡¨ãä¹æä»¥å¿ é¡»ä½¿ç¨ processHttpRequest æ¹æ³ï¼åå æ¯ä½¿ç¨ getHtmlContent ä¸å° setOwnPage 设置为 false æ¶çææç¸åï¼ä»è没æäºå° setOwnPage 设置为 true æ¶çä»»ä½ä¼ç¹ã
3. ä½¿ç¨ setOwnForm æ¹æ³
å¦æ JSP 页é¢ä¸å å«ä»»ä½éè¦ååçæ§ä»¶ï¼ååºå° setOwnForm æ¹æ³è®¾ç½®ä¸º trueãè¿æ ·å使æ¥çå¨è½å¤èªå¨å¤çè§å¾ç¶æä¿¡æ¯ãè§å¾ç¶æç¨äºå¨å®¢æ·ç«¯ç¼åæå ³æ¥è¡¨å½åç¶æçä¿¡æ¯ãå¦æ页é¢ä¸æå ¶ä»æ§ä»¶ï¼æ¨å¿ é¡»ç¡®ä¿ setOwnForm 设置为 falseï¼å¹¶æå¨å¤çè§å¾ç¶æä¿¡æ¯ã
以ä¸ç¤ºä¾æ¾ç¤ºäºå¦ä½æå¨è®¾ç½®è§å¾ç¶æä¿¡æ¯ï¼
viewer.setOwnForm(false);
viewer.setViewState((String) session.getAttribute("viewState"));
viewer.processHttpRequest(request, response, getServletContext(), pageContext.getOut());
session.setAttribute("viewState", viewer.getViewState());
注æï¼ setOwnForm å¿ é¡»è®¾ç½®ä¸º true æè½ä½¿åæ°æ示åæ¥ä½ç¨ã
4. æå®æ£ç¡®çå符é
è¦å°åç¬¦ä» JSP æ件åéå° Web æµè§å¨ï¼æ¨å¿ 须使ç¨æ£ç¡®çç¼ç ãå§ç»ä¸ºææ JSP 页é¢æå®æ£ç¡®çå 容类ååå符éã
å¦æ JSP 页é¢å°å 容è¿åå°æ å HTML æµè§å¨ï¼è¯·ç¡®ä¿å®ä¹äºæ£ç¡®çå符éï¼
<%@ page contentType="text/html; charset=utf-8" %>
contentType å charset æ令让æµè§å¨ç¥éæè¿å HTML 页é¢çç¼ç æ¹å¼ãUTF-8 æ¯æ¥çå¨å¿ éçå符éã
5. CrystalImageCleaner 示ä¾ä»£ç
为äºç¡®ä¿å®æå é¤æ¥çå¨ä½¿ç¨ç临æ¶æ件ï¼éè¦ä½¿ç¨ CrystalImageCleaner 对象ãéè¿å°æ£ç¡®é ç½®ç CrystalImageCleaner 对象添å å°ä½¿ç¨æ¥çå¨ç JSP 页é¢ï¼å¯å¸®å©æé« Web åºç¨ç¨åºçæ§è½ã
注æï¼ ä¸ºäºç¡®ä¿ CrystalImageCleaner 对象å¯ç¨ï¼JSP 页é¢ä¸å¿ é¡»æ以ä¸ä»£ç è¡ã
<%@ page import="com.crystaldecisions.report.web.viewer.CrystalImageCleaner" %>
ç¤ºä¾ 1
æ¬ç¤ºä¾æ¹æ³å建ä¸ä¸ª CrystalImageCleaner 对象ï¼è¯¥å¯¹è±¡æ¯åéæ«æå¾åæ件ä¸æ¬¡ï¼ä½åªå é¤é£äºè³å°å·²åå¨ 2 åéçæ件ãç±äºè¿äºè®¾ç½®çæä½³å¼é«åº¦åå³äºæ¥çå¨ç使ç¨ååºç¨ç¨åºç设计ç¹å¾ï¼å æ¤ï¼å¿ é¡»æ£ç¡®è°æ´è¿äºè®¾ç½®ï¼ä»¥ä¾¿ç¡®ä¿æ¨çåºç¨ç¨åºè·å¾æä½³æ§è½ã
<%!
public void jspInit(){
CrystalImageCleaner.start(getServletContext(), 60000, 12000);
}
%>
ç¤ºä¾ 2
æ¬ç¤ºä¾æ¹æ³å¨ä»æå¡ä¸å é¤ JSP 页é¢åå³åæ¢ CrystalImageCleaner 对象ã
<%!
public void jspDestroy(){
CrystalImageCleaner.stop(getServletContext());
}
%>
jsp下如何调用水晶报表
如果 JSP 页面不包含任何需要回发的控件,则应将 setOwnForm 方法设置为 true。这样做使查看器能够自动处理视图状态信息。视图状态用于在客户端缓存有关报表当前状态的信息。如果页面上有其他控件,您必须确保 setOwnForm 设置为 false,并手动处理视图状态信息。以下示例显示了如何手动设置视图状态信息:viewe...
求JSP调用水晶报表服务器上的报表资料
- .rpt报表文件 执行报表中的第一步就是在水晶报表设计器接口创建此报表,在默认安装中微软已经提供了一些现成的.rpt例子。- Data Source .rpt文件取得数据库的方法取决于你方法的选择,你能选择让水晶报表自己选择数据而不使用任何代码或者也可以选择手动的组装DataSet,然后再将其传送到报表文件。- 水晶...
crystalreportviewers是什么,电脑的F盘里突然多了个这个文件夹,不知道...
jsp页面上的水晶报表样式,一个小的程序开发辅助工具,用不到的话可以删除
水晶报表是什么?主要有什么用处?
完成应用程序资料的报表
crystalreportviewers12这个文件夹,有什么作用,能删除吗?
crystalreportviewers12这个文件夹是著名的水晶报表的样式文件夹,装visual studio也自带。cadence 带的作用是用来读复杂报表的(比如BOM),比起Altium生产的excel十分花哨报表,cadence标准报表可以说是简陋。如果只使用standard report,删了也无妨。Crystal Reports(水晶报表)是一款商务智能(BI)软件,主要...
spring框架用什么软件(spring框架有什么用)
2、2,VB-DB-RPTVB先查询数据库得到结果集,再打开RPT文件并传入结果集,生成报表。此方法详细流程如下:1)在CrystalReport中设计好RPT文件。由于此时结果集还未生成,只能使用TTX文件做为虚拟数据源,以便读取字段信息。3、配置成功后开始在Eclipse中配置Maven,点击Eclipse菜单栏Help-EclipseMarketplace搜索...