報表設(shè)計(jì)器中使用spring框架實(shí)現(xiàn)自定義數(shù)據(jù)集

本篇文章給大家分享的是有關(guān)報表設(shè)計(jì)器中使用spring框架實(shí)現(xiàn)自定義數(shù)據(jù)集,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:空間域名、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、興隆臺網(wǎng)站維護(hù)、網(wǎng)站推廣。

spring是一個開源框架,是為了解決企業(yè)應(yīng)用程序開發(fā)復(fù)雜性而創(chuàng)建的。在 web 開發(fā)環(huán)境中經(jīng)常會與 struts、hibernate聯(lián)合起來使用,進(jìn)行規(guī)范的框架結(jié)構(gòu)開發(fā)。潤乾中的二次開發(fā)也可以與 SSH 框架相結(jié)合部署到 web 項(xiàng)目中。本文介紹在設(shè)計(jì)時沒有啟動 web 服務(wù),在設(shè)計(jì)器中使用 spring 的方式來實(shí)現(xiàn)自定義數(shù)據(jù)集。

實(shí)現(xiàn)思路:編寫兩個自定義數(shù)據(jù)集,一個在設(shè)計(jì)器中使用,一個在 web 項(xiàng)目中使用,在設(shè)計(jì)器中使用的類需要編寫臨時加載 spring 框架配置文件的代碼,啟動 spring 框架。Web 項(xiàng)目中的則不需要編寫,可直接與 struts 整合,通過監(jiān)聽器的方式啟動 struts 框架時同時啟動 spring 框架。

第一步:拷貝 spring 框架 jar 包。

使用 spring 的注入方式編寫一個簡單的自定義數(shù)據(jù)集,首先需要將 spring 的 IOC 核心容器和對 web 支持的 jar 包拷貝到設(shè)計(jì)器的 lib 目錄下(\reportHome\designer\web\WEB-INF\lib)。

第二步:編寫一個簡單的自定義數(shù)據(jù)集。

public class Test {  
public DataSet getDataSet(Context ctx, DataSetConfig dsc, boolean retrieve) {  
DataSet ds = new DataSet(”ds1″);// 定義數(shù)據(jù)集名稱  
ds.addCol(”產(chǎn)品ID”);//定義顯示列  
ds.addCol(”產(chǎn)品名稱”);  
List col1 = new ArrayList();// 第一列模擬數(shù)據(jù)集合  
for (int i = 1; i <= 4; i++) {  
col1.add(i);  
}  
List col2 = new ArrayList();// 第二列模擬數(shù)據(jù)集合  
col2.add(”struts1.2″);  
col2.add(”hibernate3.1″);  
col2.add(”spring2.0″);  
col2.add(”runqian4.2.5″);  
// 設(shè)置數(shù)據(jù)  
for (int i = 0; i < col1.size(); i++) {  
Row row = ds.addRow();  
row.setData(1, col1.get(i));// 產(chǎn)品ID放到第一列的位置  
row.setData(2, col2.get(i));// 產(chǎn)品名稱放到第二列的位置  
}  
return ds;  
}  
}

第三步:進(jìn)行 spring 注入。

將之前編寫的自定義數(shù)據(jù)集的類,通過 spring 注入的形式來實(shí)現(xiàn),將 spring 的配置文件 applicationContext.xml 放置在 classpath 中(也就是設(shè)計(jì)器中的 \reportHome\designer\web\WEB-INF\classes 目錄下)。使用 ApplicationContext 這個接口下的一個實(shí)現(xiàn)類 ClassPathXmlApplicationContext 來加載配置文件,需要注意的是,這里可以加載多個配置文件,所以是以數(shù)組形勢傳進(jìn)的。在 applicationContext.xml 中添加節(jié)點(diǎn),配置 spring 注入的代碼,在類中使用 getBean() 方法,根據(jù) xml 中 bean 節(jié)點(diǎn)的 id 屬性注入。返回的就是該類中定義的這個成員變量了,從而實(shí)現(xiàn)了 spring 注入功能。

Spring 配置文件 applicationContext.xml 代碼如下:

<?xml version=”1.0″ encoding=”UTF-8″?>  
< beans xmlns=”http://www.springframework.org/schema/beans”  
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”  
xsi:schemaLocation=”http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd”>
<bean id=”Test” class=” com.runqian.Test”></bean>  
< bean id=”SpringTest” class=”com.runqian.SpringTest “>  
< property name=”test”>  
< ref bean=”Test” />  
< /property>  
< /bean>  
< /beans><?xml version=”1.0″ encoding=”UTF-8″?>

Spring 調(diào)用類代碼如下:

public class SpringTest implements IDataSetFactory {  
private Test test;  
public SpringTest () {  
}  
public void setTest(Test test) {  
this.test = test;  
}  
public DataSet createDataSet(Context ctx, DataSetConfig dsc,  
boolean retrieve) {  
ApplicationContext cxt = new ClassPathXmlApplicationContext(  
new String\[\] { “applicationContext.xml” });//手動加載配置文件  
test = (Test) cxt.getBean(”Test”);//加載之前定義好的自定義數(shù)據(jù)集類  
return test.getDataSet(ctx, dsc, retrieve);  
}  
}

將之前編寫的自定義數(shù)據(jù)集和 spring 調(diào)用類編譯后,把.class 文件放到設(shè)計(jì)器中的 \reportHome\designer\web\WEB-INF\classes 目錄下 (主意加上包文件)

第四步:啟動設(shè)計(jì)器實(shí)現(xiàn)自定義數(shù)據(jù)集。

打開設(shè)計(jì)器,選擇自定義數(shù)據(jù)集,填入 spring 調(diào)用類的包名和類名

顯示出之前類中定義的列名,生成數(shù)據(jù)集成功

這樣就實(shí)現(xiàn)了不啟動 web 服務(wù),在設(shè)計(jì)器中使用 spring 框架實(shí)現(xiàn)自定義數(shù)據(jù)集了。

以上就是報表設(shè)計(jì)器中使用spring框架實(shí)現(xiàn)自定義數(shù)據(jù)集,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當(dāng)前題目:報表設(shè)計(jì)器中使用spring框架實(shí)現(xiàn)自定義數(shù)據(jù)集
路徑分享:http://bm7419.com/article30/geeppo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、面包屑導(dǎo)航、、外貿(mào)網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司