[集一]中文站點:一定要看
http://www.softonline.com.cn/crystal/index.htm
[集二]API 文檔地址
URL
Viewers Java API Reference
[集三]Crystal Reports for Eclipse: 1.0 [下載]
http://diamond.businessobjects.com/node/440
[集四]功能一覽
http://www.softonline.com.cn/crystal/crystalreports/index.htm
[集五]Crystal Reports for BEA Weblogic Workshop
--在BEA WebLogic Workshop應(yīng)用程序中嵌入報表
隨著最近BEA WebLogic Workshop的功能集中加入了嵌入式報表功能,現(xiàn)在已經(jīng)可以在您的JavaServerPage(JSP)中處理和呈現(xiàn)行業(yè)標(biāo)準(zhǔn)的報表模板了。本文討論了嵌入式報表的要求,并特別討論了報表基礎(chǔ)架構(gòu)的一般要求。它還演示了如何把現(xiàn)有的報表模板添加到Workshop項目中,并把這些報表部署到WebLogic的J2EE應(yīng)用服務(wù)器上。
本系列隨后的文章將討論基于JDBC/JNDI數(shù)據(jù)源設(shè)計新報表,以及在分階段和部署場景下配置數(shù)據(jù)訪問的過程。
手寫代碼的報表
最近,一項針對職業(yè)Java開發(fā)人員進(jìn)行的獨立調(diào)查表明,47%的Java開發(fā)人員通過手寫代碼的方式在其應(yīng)用程序中實現(xiàn)報表。另外的11%意識到,對每個項目從頭開始手動生成報表是一種效率極低的做法,而且他們已經(jīng)內(nèi)部開發(fā)出他們自己的報表框架。調(diào)查還指出,Java開發(fā)人員要花上三分之一的工作時間開發(fā)和維護(hù)這些報表,以滿足最終用戶不甚明確、而且不斷變化的信息需求。
任何定制應(yīng)用程序開發(fā)項目的成功都是由最終用戶社區(qū)采用該應(yīng)用程序的程度來衡量的。決定成功的最小度量是用戶從應(yīng)用程序中提取有用信息的方便性。因此,報表是大多數(shù)定制應(yīng)用程序開發(fā)計劃取得成功的不可或缺的部分。
如果開發(fā)團(tuán)隊選擇內(nèi)部實現(xiàn)報表基礎(chǔ)架構(gòu),那么實際上,為最終用戶開發(fā)報表是一個代碼密集型的過程,應(yīng)該把這個過程合并到每個項目計劃中。然而,在定制應(yīng)用程序中嵌入報表通常在項目的后期階段完成,這種事后做法有助于項目的進(jìn)展。不論開發(fā)團(tuán)隊選擇構(gòu)建還是購買嵌入式報表功能,應(yīng)該首先估計最終用戶的報表需求以及實現(xiàn)前后的相關(guān)開銷。
嵌入式報表設(shè)計模型
在每一個定制應(yīng)用程序開發(fā)項目中,開發(fā)人員和架構(gòu)師遇到的都是一些重復(fù)性的常見報表需求。因此,開發(fā)一個可以滿足這些需求并可跨多個項目重用的報表框架是可行的。應(yīng)用于這個問題的常見報表需求和最佳實踐集構(gòu)成了一個報表設(shè)計模式,開發(fā)團(tuán)隊可以利用這個模式來降低應(yīng)用程序數(shù)據(jù)表示不足的風(fēng)險。
一個嵌入式報表框架必須支持:
- 對報表作者和應(yīng)用程序最終用戶之間的嵌入式報表進(jìn)行快速、迭代的設(shè)計時原型設(shè)計
- 以多種方式——在線、打印/編頁,以及流行的電子文件格式——查看報表中包含的信息,而不用針對每種格式重構(gòu)報表
- 解除報表基礎(chǔ)架構(gòu)和核心應(yīng)用程序之間的耦合,以提高可維護(hù)性并減少Q(mào)A開銷
- 胖客戶端表示質(zhì)量和零客戶端范圍內(nèi)的交互性
- 參數(shù)化數(shù)據(jù),以便把結(jié)果集放在環(huán)境中使用
借助Workshop的最新版本,BEA已經(jīng)意識到嵌入式報表在應(yīng)用程序開發(fā)生命周期中扮演的角色,并通過Crystal Report的一個定制版本提供內(nèi)置的報表功能。另一種選擇是對J2EE應(yīng)用程序的報表方面進(jìn)行手寫編碼,或者開發(fā)一個內(nèi)部的報表框架。Crystal Reports for BEA WebLogic Workshop加速了訪問、格式化和集成JSP中的應(yīng)用程序數(shù)據(jù)的過程。
使用頁面流的嵌入式報表
Crystal Reports for BEA WebLogic Workshop集成到了Java Page Flow(JPF)中,而JPF又基于利用Struts框架的MVC架構(gòu)。這可以大大減少開發(fā)定制應(yīng)用程序報表方面所需的時間。報表模板文件是底層數(shù)據(jù)模型的代理。視圖是Crystal Viewer,它代表基于瀏覽器的用戶界面的所有可視化元素,其中包括Crystal Viewer支持的事件模型??刂破魇荍ava Reporting Component,它負(fù)責(zé)連接模型和視圖,并使這兩個組件之間能夠進(jìn)行通信。
出于本文的需要,我們已經(jīng)創(chuàng)建了一個叫做EmeddedReportingDemo.work的WebLogic Workshop應(yīng)用程序,它包含一個叫做EmeddedReportingDemoWeb的項目。EmeddedReportingDemoWeb自動包含一個Workshop生成的index.jsp、error.jsp文件,以及一個Java Page Flow Controller文件(Controller.jpf)。我們將添加一個報表查看器給Java Server Page(JSP),并使用向?qū)нx擇一個隨后能夠在這個JSP中運行的報表。
如下圖所示,Crystal Reports Java Reporting Component與BEA WebLogic Workshop捆綁在一起,使用保存在WorldSalesReport.rpt模板中的報表元數(shù)據(jù)來連接到應(yīng)用程序的JDBC數(shù)據(jù)源并生成所需的數(shù)據(jù)結(jié)果集。然后,格式化的結(jié)果集被傳遞給由viewreport.jsp創(chuàng)建的Crystal Report Viewer,Crystal Report Viewer則將數(shù)據(jù)以HTML的形式傳送給瀏覽器客戶端。Crystal Viewer支持胖客戶端的事件模型,允許瀏覽器客戶端對聚合的報表數(shù)據(jù)進(jìn)行操作,可以本地打印報表,也可以將報表重新生成各種流行的電子文件形式。EmeddedReportingDemoWeb項目唯一的目的就是提供一個Crystal Report Viewer處理和表現(xiàn)單一報表模板文件(.RPT)的工作示例,從JSP頁面內(nèi)部部署到BEA WebLogic應(yīng)用服務(wù)器。

注意:報表模板是使用Crystal Reports for BEA WebLogic Workshop桌面報表設(shè)計器生成的,您可以在BEA WebLogic Workshop IDE中直接下載這個設(shè)計器。
在JSP頁面中嵌入Crystal報表
步驟1 創(chuàng)建EmbeddedReportingDemo應(yīng)用程序
要創(chuàng)建該項目,從Workshop File菜單中選擇New/Application。把應(yīng)用程序命名為EmbeddedReportingDemo。選擇“默認(rèn)的”應(yīng)用程序類型。選擇Create。
為了嵌入我們將在這個例子中使用的定制JSP查看器標(biāo)簽,選擇EmbeddedReportingDemoWeb項目;使用右擊菜單選項選擇Install/Crystal Reports。這將會安裝Crystal Reports Java Engine(和Crystal Reports Viewer Tags)。在項目目錄節(jié)點下,您將會看到一個名為crystalreportviewers10的新子目錄,以及您的/WEB-INF/classer子目錄中的CrystalReportEngine-config.xml文件。它還將在您的WEB-INF子目錄中添加crystal-tags-reportviewer.tld標(biāo)簽庫定義。
您將注意到,項目已經(jīng)有一個index.jsp和一個error.jsp文件。讓我們把index.jsp重新命名為viewreport.jsp,方法是選擇該文件,然后使用右擊菜單選項。雙擊文件controller.jpf。打開Begin動作中的代碼,方法是選中它,然后選擇Source選項卡。修改Begin動作的forward屬性,使其指向viewreport.jsp,然后對源代碼進(jìn)行相應(yīng)的修改使其查看viewreport。

步驟2 給您的JPS頁面添加Crystal Viewer
現(xiàn)在,您需要給您的JSP頁面添加Crystal Viewer。首先通過雙擊文件viewreport.jsp來選擇它。在設(shè)計視圖中,您可以去掉標(biāo)題“New Web Application Page”,方法是選中并刪除它。從Tag調(diào)色板把Crystal Decisions Viewer拖放到j(luò)sp上您想要看到報表的地方。一個向?qū)霈F(xiàn)。鍵入SalesReport作為這個查看器實例的名稱。在Existing File欄中瀏覽World Sales Report.rpt報表。Crystal Reports for BEA WebLogic Workshop桌面報表設(shè)計器中也有這個報表,具體位置是c:/Program Files/Crystal Decisions/Crystal Reports 10/Samples/En/Reports/General Business。選中該.rpt文件。選擇Next。BEA Workshop需要知道在您的項目結(jié)構(gòu)中,您想在哪里保存報表模板的一個副本。選擇WEB-INF。選擇OK。該報表將被復(fù)制到您的目錄結(jié)構(gòu)中,具體位置是<應(yīng)用程序目錄>/EmbeddedReportingDemo/EmbeddedReportingdemoWeb/WEB-INF。

步驟3 定制查看器
下一個對話框允許您定制查看器的外觀和行為。顯示的值是默認(rèn)值;因此,如果您沒有顯式地設(shè)定值,插入的代碼中不會設(shè)置屬性。對于這個例子來說,我們尚未定制Crystal Viewer。


步驟4 編譯您的應(yīng)用程序,將其部署到WebLogic Application Server上
在Workshop IDE的開發(fā)/測試環(huán)境中,可以直接在WebLogic Server上測試應(yīng)用程序。選中文件Controller.jpf。如果要在調(diào)試模式中運行應(yīng)用程序以檢查錯誤,選擇菜單項Debug/Start。
要部署到生產(chǎn)服務(wù)器,或許是遠(yuǎn)程服務(wù)器上,您將要創(chuàng)建一個EAR文件。要生成一個EAR文件,選擇Build/Build EAR?,F(xiàn)在,在您的應(yīng)用程序根目錄中將有一個名為EmbeddedReportingDemo.ear的文件。要想現(xiàn)在就把這個EAR文件部署到生產(chǎn)服務(wù)器上,遵循下面的步驟(您可以在Workshop在線幫助中找到這些步驟):
1. 打開以生產(chǎn)模式運行的目標(biāo)服務(wù)器的WebLogic Server控制臺。
2. 在左邊的導(dǎo)航窗格上,打開Deployments節(jié)點。
3. 在左邊的導(dǎo)航窗格上,打開Applications節(jié)點。
4. 在右邊的內(nèi)容窗格上,點擊Deploy a New Application。
5. 點擊upload your file(s)。
6. 點擊Browse按鈕。
7. 在Choose file對話框中,定位您要部署的EAR文件,然后點擊Open。
8. 點擊Upload。
9. 選擇您想要部署的EAR文件,然后點擊Continue。
10. 點擊Deploy。
控制臺將顯示應(yīng)用程序的已部署模塊(EJB和web應(yīng)用程序)的一個列表。
現(xiàn)在,可以通過打開您的瀏覽器并鍵入該應(yīng)用程序的URL位置(比如http://vantsmith02:7001/EmbeddedReportingDemoWeb/viewreport.jsp)來運行它。
World Sales Report將由Java Reporting Component進(jìn)行處理。然后,Crystal Viewer實例將把報表以HTML的形式呈現(xiàn)在您的瀏覽器界面中。注意,您可以通過探求多層一直到底層數(shù)據(jù)與報表交互。您還可以本地打印該報表,或者將其導(dǎo)出為各種電子文件格式。

步驟5 讓最終用戶與其交互
它非常簡單。如果您有現(xiàn)成的Crystal報表,您現(xiàn)在就可以在BEA WebLogic Workshop中使用它們。如果您沒有,您可以試著使用直觀的設(shè)計器設(shè)計。如上所示,只需進(jìn)行一些簡單的步驟,便可在您的JSP頁面中呈現(xiàn)報表。而且,如果最終用戶的需求不斷變化,也可以很容易地更新報表,而不會影響到您的核心應(yīng)用程序業(yè)務(wù)邏輯。
其他資源
想要了解關(guān)于Crystal Reports for BEA WebLogic Workshop的其他信息,請參考集成的BEA Workshop在線文檔,或者訪問Crystal Decisions JavaZone開發(fā)者社區(qū),網(wǎng)址是http://www.businessobjects.com/products/dev_zone/java/。
[集一]中文站點:一定要看
http://www.softonline.com.cn/crystal/index.htm
[集二]API 文檔地址
URL
Viewers Java API Reference
[集三]Crystal Reports for Eclipse: 1.0 [下載]
http://diamond.businessobjects.com/node/440
[集四]功能一覽
http://www.softonline.com.cn/crystal/crystalreports/index.htm
[集五]Crystal Reports for BEA Weblogic Workshop--在BEA WebLogic Workshop應(yīng)用程序中嵌入報表 隨著最近BEA WebLogic Workshop的功能集中加入了嵌入式報表功能,現(xiàn)在已經(jīng)可以在您的JavaServerPage(JSP)中處理和呈現(xiàn)行業(yè)標(biāo)準(zhǔn)的報表模板了。本文討論了嵌入式報表的要求,并特別討論了報表基礎(chǔ)架構(gòu)的一般要求。它還演示了如何把現(xiàn)有的報表模板添加到Workshop項目中,并把這些報表部署到WebLogic的J2EE應(yīng)用服務(wù)器上。
本系列隨后的文章將討論基于JDBC/JNDI數(shù)據(jù)源設(shè)計新報表,以及在分階段和部署場景下配置數(shù)據(jù)訪問的過程。
手寫代碼的報表
最近,一項針對職業(yè)Java開發(fā)人員進(jìn)行的獨立調(diào)查表明,47%的Java開發(fā)人員通過手寫代碼的方式在其應(yīng)用程序中實現(xiàn)報表。另外的11%意識到,對每個項目從頭開始手動生成報表是一種效率極低的做法,而且他們已經(jīng)內(nèi)部開發(fā)出他們自己的報表框架。調(diào)查還指出,Java開發(fā)人員要花上三分之一的工作時間開發(fā)和維護(hù)這些報表,以滿足最終用戶不甚明確、而且不斷變化的信息需求。
任何定制應(yīng)用程序開發(fā)項目的成功都是由最終用戶社區(qū)采用該應(yīng)用程序的程度來衡量的。決定成功的最小度量是用戶從應(yīng)用程序中提取有用信息的方便性。因此,報表是大多數(shù)定制應(yīng)用程序開發(fā)計劃取得成功的不可或缺的部分。
如果開發(fā)團(tuán)隊選擇內(nèi)部實現(xiàn)報表基礎(chǔ)架構(gòu),那么實際上,為最終用戶開發(fā)報表是一個代碼密集型的過程,應(yīng)該把這個過程合并到每個項目計劃中。然而,在定制應(yīng)用程序中嵌入報表通常在項目的后期階段完成,這種事后做法有助于項目的進(jìn)展。不論開發(fā)團(tuán)隊選擇構(gòu)建還是購買嵌入式報表功能,應(yīng)該首先估計最終用戶的報表需求以及實現(xiàn)前后的相關(guān)開銷。
嵌入式報表設(shè)計模型
在每一個定制應(yīng)用程序開發(fā)項目中,開發(fā)人員和架構(gòu)師遇到的都是一些重復(fù)性的常見報表需求。因此,開發(fā)一個可以滿足這些需求并可跨多個項目重用的報表框架是可行的。應(yīng)用于這個問題的常見報表需求和最佳實踐集構(gòu)成了一個報表設(shè)計模式,開發(fā)團(tuán)隊可以利用這個模式來降低應(yīng)用程序數(shù)據(jù)表示不足的風(fēng)險。
一個嵌入式報表框架必須支持:
- 對報表作者和應(yīng)用程序最終用戶之間的嵌入式報表進(jìn)行快速、迭代的設(shè)計時原型設(shè)計
- 以多種方式——在線、打印/編頁,以及流行的電子文件格式——查看報表中包含的信息,而不用針對每種格式重構(gòu)報表
- 解除報表基礎(chǔ)架構(gòu)和核心應(yīng)用程序之間的耦合,以提高可維護(hù)性并減少Q(mào)A開銷
- 胖客戶端表示質(zhì)量和零客戶端范圍內(nèi)的交互性
- 參數(shù)化數(shù)據(jù),以便把結(jié)果集放在環(huán)境中使用
借助Workshop的最新版本,BEA已經(jīng)意識到嵌入式報表在應(yīng)用程序開發(fā)生命周期中扮演的角色,并通過Crystal Report的一個定制版本提供內(nèi)置的報表功能。另一種選擇是對J2EE應(yīng)用程序的報表方面進(jìn)行手寫編碼,或者開發(fā)一個內(nèi)部的報表框架。Crystal Reports for BEA WebLogic Workshop加速了訪問、格式化和集成JSP中的應(yīng)用程序數(shù)據(jù)的過程。
使用頁面流的嵌入式報表
Crystal Reports for BEA WebLogic Workshop集成到了Java Page Flow(JPF)中,而JPF又基于利用Struts框架的MVC架構(gòu)。這可以大大減少開發(fā)定制應(yīng)用程序報表方面所需的時間。報表模板文件是底層數(shù)據(jù)模型的代理。視圖是Crystal Viewer,它代表基于瀏覽器的用戶界面的所有可視化元素,其中包括Crystal Viewer支持的事件模型。控制器是Java Reporting Component,它負(fù)責(zé)連接模型和視圖,并使這兩個組件之間能夠進(jìn)行通信。
出于本文的需要,我們已經(jīng)創(chuàng)建了一個叫做EmeddedReportingDemo.work的WebLogic Workshop應(yīng)用程序,它包含一個叫做EmeddedReportingDemoWeb的項目。EmeddedReportingDemoWeb自動包含一個Workshop生成的index.jsp、error.jsp文件,以及一個Java Page Flow Controller文件(Controller.jpf)。我們將添加一個報表查看器給Java Server Page(JSP),并使用向?qū)нx擇一個隨后能夠在這個JSP中運行的報表。
如下圖所示,Crystal Reports Java Reporting Component與BEA WebLogic Workshop捆綁在一起,使用保存在WorldSalesReport.rpt模板中的報表元數(shù)據(jù)來連接到應(yīng)用程序的JDBC數(shù)據(jù)源并生成所需的數(shù)據(jù)結(jié)果集。然后,格式化的結(jié)果集被傳遞給由viewreport.jsp創(chuàng)建的Crystal Report Viewer,Crystal Report Viewer則將數(shù)據(jù)以HTML的形式傳送給瀏覽器客戶端。Crystal Viewer支持胖客戶端的事件模型,允許瀏覽器客戶端對聚合的報表數(shù)據(jù)進(jìn)行操作,可以本地打印報表,也可以將報表重新生成各種流行的電子文件形式。EmeddedReportingDemoWeb項目唯一的目的就是提供一個Crystal Report Viewer處理和表現(xiàn)單一報表模板文件(.RPT)的工作示例,從JSP頁面內(nèi)部部署到BEA WebLogic應(yīng)用服務(wù)器。

注意:報表模板是使用Crystal Reports for BEA WebLogic Workshop桌面報表設(shè)計器生成的,您可以在BEA WebLogic Workshop IDE中直接下載這個設(shè)計器。
在JSP頁面中嵌入Crystal報表
步驟1 創(chuàng)建EmbeddedReportingDemo應(yīng)用程序
要創(chuàng)建該項目,從Workshop File菜單中選擇New/Application。把應(yīng)用程序命名為EmbeddedReportingDemo。選擇“默認(rèn)的”應(yīng)用程序類型。選擇Create。
為了嵌入我們將在這個例子中使用的定制JSP查看器標(biāo)簽,選擇EmbeddedReportingDemoWeb項目;使用右擊菜單選項選擇Install/Crystal Reports。這將會安裝Crystal Reports Java Engine(和Crystal Reports Viewer Tags)。在項目目錄節(jié)點下,您將會看到一個名為crystalreportviewers10的新子目錄,以及您的/WEB-INF/classer子目錄中的CrystalReportEngine-config.xml文件。它還將在您的WEB-INF子目錄中添加crystal-tags-reportviewer.tld標(biāo)簽庫定義。
您將注意到,項目已經(jīng)有一個index.jsp和一個error.jsp文件。讓我們把index.jsp重新命名為viewreport.jsp,方法是選擇該文件,然后使用右擊菜單選項。雙擊文件controller.jpf。打開Begin動作中的代碼,方法是選中它,然后選擇Source選項卡。修改Begin動作的forward屬性,使其指向viewreport.jsp,然后對源代碼進(jìn)行相應(yīng)的修改使其查看viewreport。

步驟2 給您的JPS頁面添加Crystal Viewer
現(xiàn)在,您需要給您的JSP頁面添加Crystal Viewer。首先通過雙擊文件viewreport.jsp來選擇它。在設(shè)計視圖中,您可以去掉標(biāo)題“New Web Application Page”,方法是選中并刪除它。從Tag調(diào)色板把Crystal Decisions Viewer拖放到j(luò)sp上您想要看到報表的地方。一個向?qū)霈F(xiàn)。鍵入SalesReport作為這個查看器實例的名稱。在Existing File欄中瀏覽World Sales Report.rpt報表。Crystal Reports for BEA WebLogic Workshop桌面報表設(shè)計器中也有這個報表,具體位置是c:/Program Files/Crystal Decisions/Crystal Reports 10/Samples/En/Reports/General Business。選中該.rpt文件。選擇Next。BEA Workshop需要知道在您的項目結(jié)構(gòu)中,您想在哪里保存報表模板的一個副本。選擇WEB-INF。選擇OK。該報表將被復(fù)制到您的目錄結(jié)構(gòu)中,具體位置是<應(yīng)用程序目錄>/EmbeddedReportingDemo/EmbeddedReportingdemoWeb/WEB-INF。

步驟3 定制查看器
下一個對話框允許您定制查看器的外觀和行為。顯示的值是默認(rèn)值;因此,如果您沒有顯式地設(shè)定值,插入的代碼中不會設(shè)置屬性。對于這個例子來說,我們尚未定制Crystal Viewer。


步驟4 編譯您的應(yīng)用程序,將其部署到WebLogic Application Server上
在Workshop IDE的開發(fā)/測試環(huán)境中,可以直接在WebLogic Server上測試應(yīng)用程序。選中文件Controller.jpf。如果要在調(diào)試模式中運行應(yīng)用程序以檢查錯誤,選擇菜單項Debug/Start。
要部署到生產(chǎn)服務(wù)器,或許是遠(yuǎn)程服務(wù)器上,您將要創(chuàng)建一個EAR文件。要生成一個EAR文件,選擇Build/Build EAR?,F(xiàn)在,在您的應(yīng)用程序根目錄中將有一個名為EmbeddedReportingDemo.ear的文件。要想現(xiàn)在就把這個EAR文件部署到生產(chǎn)服務(wù)器上,遵循下面的步驟(您可以在Workshop在線幫助中找到這些步驟):
1. 打開以生產(chǎn)模式運行的目標(biāo)服務(wù)器的WebLogic Server控制臺。
2. 在左邊的導(dǎo)航窗格上,打開Deployments節(jié)點。
3. 在左邊的導(dǎo)航窗格上,打開Applications節(jié)點。
4. 在右邊的內(nèi)容窗格上,點擊Deploy a New Application。
5. 點擊upload your file(s)。
6. 點擊Browse按鈕。
7. 在Choose file對話框中,定位您要部署的EAR文件,然后點擊Open。
8. 點擊Upload。
9. 選擇您想要部署的EAR文件,然后點擊Continue。
10. 點擊Deploy。
控制臺將顯示應(yīng)用程序的已部署模塊(EJB和web應(yīng)用程序)的一個列表。
現(xiàn)在,可以通過打開您的瀏覽器并鍵入該應(yīng)用程序的URL位置(比如http://vantsmith02:7001/EmbeddedReportingDemoWeb/viewreport.jsp)來運行它。
World Sales Report將由Java Reporting Component進(jìn)行處理。然后,Crystal Viewer實例將把報表以HTML的形式呈現(xiàn)在您的瀏覽器界面中。注意,您可以通過探求多層一直到底層數(shù)據(jù)與報表交互。您還可以本地打印該報表,或者將其導(dǎo)出為各種電子文件格式。

步驟5 讓最終用戶與其交互
它非常簡單。如果您有現(xiàn)成的Crystal報表,您現(xiàn)在就可以在BEA WebLogic Workshop中使用它們。如果您沒有,您可以試著使用直觀的設(shè)計器設(shè)計。如上所示,只需進(jìn)行一些簡單的步驟,便可在您的JSP頁面中呈現(xiàn)報表。而且,如果最終用戶的需求不斷變化,也可以很容易地更新報表,而不會影響到您的核心應(yīng)用程序業(yè)務(wù)邏輯。
其他資源
想要了解關(guān)于Crystal Reports for BEA WebLogic Workshop的其他信息,請參考集成的BEA Workshop在線文檔,或者訪問Crystal Decisions JavaZone開發(fā)者社區(qū),網(wǎng)址是http://www.businessobjects.com/products/dev_zone/java/。
地震讓大伙知道:居安思危,才是生存之道。
posted on 2007-07-20 22:02
小尋 閱讀(1727)
評論(0) 編輯 收藏 所屬分類:
j2se/j2ee/j2me