欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種數(shù)據(jù)展示模型建立方法、數(shù)據(jù)展示方法及裝置的制作方法

文檔序號:6579634閱讀:223來源:國知局

專利名稱::一種數(shù)據(jù)展示模型建立方法、數(shù)據(jù)展示方法及裝置的制作方法
技術(shù)領域
:本發(fā)明涉及計算機信息處理
技術(shù)領域
,具體地,涉及一種數(shù)據(jù)展示模型建立方法、數(shù)據(jù)展示方法及裝置。
背景技術(shù)
:在web應用開發(fā)過程中,經(jīng)常需要在網(wǎng)頁上按照業(yè)務系統(tǒng)所要求的表單樣式來展示數(shù)據(jù),并響應最終用戶的增加、刪除、更改、查詢等操作以及將被需要保存的數(shù)據(jù)提交到數(shù)據(jù)庫中保存。這其中包含了獲取數(shù)據(jù),創(chuàng)建表單對象,填充數(shù)據(jù),增加數(shù)據(jù),刪除數(shù)據(jù),更改數(shù)據(jù),保存改動后的數(shù)據(jù)等一系列過程。在傳統(tǒng)的web應用開發(fā)技術(shù)中,這個過程是非常繁瑣的,特別是開發(fā)RIA(RichInterfaceA卯lications,富界面應用)時,客戶端腳本(Script)編碼工作量大,腳本調(diào)試困難,包含大量的重復勞動。例如,如果要在web頁面上展示一個表單,通常的做法是按照業(yè)務系統(tǒng)需要的表單樣式,直接在恥b頁面上用HTML元素(table、div等)組合,生成表單框架。然后調(diào)用數(shù)據(jù)庫管理程序獲取需要的數(shù)據(jù),將獲取到的數(shù)據(jù)依次填充到表單框架中對應的位置上。如果需要修改表單內(nèi)容并保存修改后的數(shù)據(jù),則還需要在web頁面上添加相關腳本用于生成編輯控件、處理最終用戶輸入、提取修改后的數(shù)據(jù)并保存。服務器端也需要添加相應的代碼來處理相關數(shù)據(jù)。因此現(xiàn)有的web應用開發(fā)過程存在開發(fā)工作量大,腳本調(diào)試困難,容易出錯等問題,而且恥b頁面上的表單不具備封裝性,可重用性差,導致整個應用的開發(fā)效率不高。
發(fā)明內(nèi)容針對現(xiàn)有技術(shù)存在的問題,本發(fā)明提供一種數(shù)據(jù)展示模型建立方法、數(shù)據(jù)展示方法及裝置,以基于可重用的數(shù)據(jù)展示模型進行數(shù)據(jù)的展示。為了實現(xiàn)上述目的,本發(fā)明實施例提供一種數(shù)據(jù)展示模型建立方法,該方法包括進行數(shù)據(jù)展示模型定義,包括定義數(shù)據(jù)集及顯示樣式;根據(jù)所述數(shù)據(jù)展示模型定義生成數(shù)據(jù)展示模型XML(ExtensibleMarkupLanguage,可擴展標記語言)文檔;將所述數(shù)據(jù)展示模型XML文檔存儲在服務器。本發(fā)明實施例還提供一種數(shù)據(jù)展示方法,包括向服務器發(fā)送數(shù)據(jù)展示請求;接收來自服務器的數(shù)據(jù)展示模型可擴展標記語言XML文檔,該數(shù)據(jù)展示模型XML文檔包括數(shù)據(jù)集定義以及顯示樣式定義;根據(jù)所述數(shù)據(jù)展示模型XML文檔創(chuàng)建表單框架;向服務器發(fā)送數(shù)據(jù)檢索請求,該請求中攜帶所述數(shù)據(jù)集定義;接收來自服務器的數(shù)據(jù)XML文檔,解析所述數(shù)據(jù)XML文檔獲得展示數(shù)據(jù),并將所述展示數(shù)據(jù)填充到所述表單框架中,形成表單并進行展示。本發(fā)明實施例還提供一種數(shù)據(jù)展示模型建立裝置,包括定義單元,用于進行數(shù)據(jù)展示模型定義,包括定義數(shù)據(jù)集及顯示樣式;生成單元,用于根據(jù)所述數(shù)據(jù)展示模型定義生成數(shù)據(jù)展示模型可擴展標記語言XML文檔;存儲單元,用于將所述數(shù)據(jù)展示模型XML文檔存儲在服務器。本發(fā)明實施例還提供一種數(shù)據(jù)展示裝置,包括第一發(fā)送單元,用于向服務器發(fā)送數(shù)據(jù)展示請求;第一接收單元,用于接收來自服務器的數(shù)據(jù)展示模型可擴展標記語言XML文檔,該數(shù)據(jù)展示模型XML文檔包括數(shù)據(jù)集定義以及顯示樣式定義;創(chuàng)建單元,用于根據(jù)所述數(shù)據(jù)展示模型XML文檔創(chuàng)建表單框架;第二發(fā)送單元,用于向所述服務器發(fā)送數(shù)據(jù)檢索請求,該請求中攜帶所述數(shù)據(jù)集定義;第二接收單元,用于接收來自服務器的數(shù)據(jù)XML文檔,解析所述數(shù)據(jù)XML文檔獲得展示數(shù)據(jù),將所述展示數(shù)據(jù)填充到所述表單框架中,形成表單;展示單元,用于展示所述表單。本發(fā)明實施例能夠基于可重用的數(shù)據(jù)展示模型進行數(shù)據(jù)的展示,減少了二次開發(fā)階段的工作量。為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明一實施例中數(shù)據(jù)展示模型建立方法的流程示意圖;圖2為本發(fā)明一實施例中在客戶端進行數(shù)據(jù)展示的流程示意圖;圖3為本發(fā)明實施例中數(shù)據(jù)展示模型實例化對象的結(jié)構(gòu)示意圖;圖4為本發(fā)明實施例中本地數(shù)據(jù)緩存對象的結(jié)構(gòu)示意圖;圖5為本發(fā)明另一實施例中在客戶端進行數(shù)據(jù)展示的流程示意圖;圖6為圖5中步驟S260對應的數(shù)據(jù)修改操作流程示意圖;圖7為本發(fā)明實施例中數(shù)據(jù)庫適配器對象的結(jié)構(gòu)示意圖;圖8為基于DJFocus的Web開發(fā)組件來實現(xiàn)本發(fā)明的原理示意圖;圖9為本發(fā)明實施例中待展示的表單示意圖;圖10為本發(fā)明實施例中建立數(shù)據(jù)展示模型的界面示意圖;圖11為本發(fā)明實施例中通過DJFoucsDesigner設計表單的界面示意圖;圖12為本發(fā)明實施例中數(shù)據(jù)展示模型建立裝置的結(jié)構(gòu)框圖;圖13為本發(fā)明一實施例中數(shù)據(jù)展示裝置的結(jié)構(gòu)框圖;圖14為本發(fā)明另一實施例中數(shù)據(jù)展示裝置的結(jié)構(gòu)框圖。具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。本發(fā)明實施例提供一種建立可重用的數(shù)據(jù)展示模型的方法,并基于所建立的數(shù)據(jù)展示模型來解決傳統(tǒng)的web應用開發(fā)技術(shù)中,客戶端腳本編碼工作量大,腳本調(diào)試困難,web頁面上的表單不具備封裝性以及可重用性差的問題,從而簡化web頁面的數(shù)據(jù)展示操作。本實施例中,首先建立一個數(shù)據(jù)展示模型并將其存放在服務器上,這個數(shù)據(jù)展示模型是可重用的,被封裝在一個數(shù)據(jù)模型XML文檔中,即該數(shù)據(jù)展示模型以XML文檔形式存放在服務器上,并且不依賴于具體的恥b頁面,可以被不同的web頁面所調(diào)用。然后在需要展示表單的客戶端的web頁面上調(diào)用建好的數(shù)據(jù)展示模型,客戶端會自動將數(shù)據(jù)展示模型實例化,創(chuàng)建表單框架,進一步通過向服務器獲取作為表單數(shù)據(jù)的數(shù)據(jù)XML文檔,生成表單并展示在頁面上。只要在數(shù)據(jù)展示模型中定義了數(shù)據(jù)項的編輯模式和數(shù)據(jù)提交方式,上述表單的數(shù)據(jù)就可以被修改和保存,不需要額外編寫相關代碼。如果客戶端需要提交被修改的數(shù)據(jù)時,只需要調(diào)用數(shù)據(jù)展示模型實例化對象的提交方法即可完成數(shù)據(jù)提交。本發(fā)明實施例中,建立數(shù)據(jù)展示模型的過程可在客戶端完成,開發(fā)人員可通過客戶端的瀏覽器訪問數(shù)據(jù)模型設計頁面,進行數(shù)據(jù)展示模型設計,數(shù)據(jù)展示模型建立完成后由客戶端提交給服務器,以在服務器端保存該數(shù)據(jù)展示模型。如圖1所示,本發(fā)明實施例的數(shù)據(jù)展示模型建立方法包括步驟SllO,定義數(shù)據(jù)展示模型,生成數(shù)據(jù)展示模型XML文檔。本步驟中,定義數(shù)據(jù)展示模型可包括定義數(shù)據(jù)集及顯示樣式等。(1)定義數(shù)據(jù)集數(shù)據(jù)集用于描述當前數(shù)據(jù)展示模型如何獲取數(shù)據(jù)。如果是從數(shù)據(jù)庫獲取數(shù)據(jù),則定義的數(shù)據(jù)集包括SQL(StructuredQueryLanguage,結(jié)構(gòu)化查詢語言)查詢語句、相關表(如數(shù)據(jù)庫表)和列的屬性定義;如果不是從數(shù)據(jù)庫獲取數(shù)據(jù),則可定義擴展數(shù)據(jù)集,擴展數(shù)據(jù)集只需要定義列的屬性。本發(fā)明實施例中,如果不從數(shù)據(jù)庫中獲取數(shù)據(jù),該數(shù)據(jù)展示模型可被稱之為"具有外部數(shù)據(jù)源的數(shù)據(jù)展示模型"。這種數(shù)據(jù)展示模型可不跟數(shù)據(jù)庫交互,而只作為一個展示數(shù)據(jù)的載體??梢栽陧撁嫔蠈懩_本以向展示數(shù)據(jù)的載體中添加數(shù)據(jù),該數(shù)據(jù)展示模型也會根據(jù)預先定義的樣式和風格來展示添加的數(shù)據(jù),但這些添加的數(shù)據(jù)不能更新到數(shù)據(jù)庫中。如果需要在運行時確定檢索數(shù)據(jù)的條件,則定義數(shù)據(jù)展示模型還包括定義檢索參數(shù)。定義了檢索參數(shù)后,可以在運行時由腳本傳遞參數(shù)值給數(shù)據(jù)展示模型作為檢索數(shù)據(jù)的條件。所述運行時確定檢索數(shù)據(jù)的條件是指在設計數(shù)據(jù)展示模型時,開發(fā)人員不能確定檢索數(shù)據(jù)的條件,需要由最終用戶在使用數(shù)據(jù)展示模型的時候,根據(jù)自己的需要,設置檢索數(shù)據(jù)的條件,即檢索參數(shù)的值。例如,如果在人員信息表中檢索所有年齡大于30的人,這個"年齡大于30"就是檢索數(shù)據(jù)的條件。同一個數(shù)據(jù)展示模型,既可以檢索"年齡大于30"的人,也可以檢索"年齡大于50"的人,因為開發(fā)人員并不是最終用戶,所以并不能確定檢索數(shù)據(jù)的條件,此時開發(fā)人員可以定義檢索參數(shù),最終用戶可在使用數(shù)據(jù)展示模型時確定檢索數(shù)據(jù)的條件,即檢索參數(shù)的值。所述檢索數(shù)據(jù)的條件可通過執(zhí)行頁面上的腳本來傳遞給數(shù)據(jù)展示模型。(2)定義數(shù)據(jù)展示模型的顯示樣式數(shù)據(jù)展示模型的顯示樣式可包括表單布局、編輯模式、顯示格式及數(shù)據(jù)展示模型上放置的對象等;數(shù)據(jù)展示模型上放置的對象例如可為文本框、按鈕、計算域、圖片、文件、矩形框、線條等界面對象。在定義數(shù)據(jù)集之后,數(shù)據(jù)集所包含的列就可以作為數(shù)據(jù)展示模型的數(shù)據(jù)項來使用。根據(jù)所需要的表單布局,可指定這些數(shù)據(jù)項的分布區(qū)域和坐標值,將數(shù)據(jù)項放置到合適的位置上。分布區(qū)域包括標題區(qū)、表頭區(qū)、數(shù)據(jù)區(qū)、表尾區(qū)和腳注區(qū)等。坐標值就是相對于分布區(qū)域的X,Y坐標。每個數(shù)據(jù)項可以定義不同的編輯模式和顯示格式。其中,編輯模式包括數(shù)據(jù)展示模型中所定義的列對象具有的編輯模式,具體是指該列對象展示在頁面上之后,以哪種方式來輸入數(shù)據(jù),例如包括手工單行輸入、手工多行輸入、下拉列表選擇、復選框、單選框、彈出日歷選擇、彈出窗口選擇等。顯示格式包括帶小數(shù)的數(shù)字、百分比、貨幣、日期時間、科學計數(shù)法等。除了數(shù)據(jù)項以外,數(shù)據(jù)展示模型中還可以添加文本框、按鈕、計算域、圖片、文件、矩形框、線條等界面對象,每個對象都可以放置在數(shù)據(jù)展示模型中的任意位置(自由式布局)或放置于網(wǎng)格線中(列表式布局)。其中,計算域?qū)ο蟊仨毎粋€計算表達式,計算域?qū)ο蟮闹稻褪峭ㄟ^該表達式計算后得到的結(jié)果。在本發(fā)明具體應用中,可選地,定義數(shù)據(jù)展示模型的步驟還可以包括定義如下信息(3)定義數(shù)據(jù)分組條件。如果表單需要進行分組顯示、分組小計等,則可以在數(shù)據(jù)展示模型中定義數(shù)據(jù)分組條件。數(shù)據(jù)分組支持級聯(lián)分組,所謂級聯(lián)分組就是指在一個分組的基礎上再次分組,比如先按照人員所屬部門分組,再按照性別分組。數(shù)據(jù)項和計算域都可以作為數(shù)據(jù)分組條件的元素,數(shù)據(jù)分組條件是包含至少一個上述元素的計算表達式,比如要設置數(shù)據(jù)按照人員性別分組,則表示數(shù)據(jù)分組條件的表達式為"sex"(性別的字段名為sex)。(4)定義數(shù)據(jù)排序條件。數(shù)據(jù)展示模型中定義的數(shù)據(jù)排序條件,用于對展示在客戶端頁面上的數(shù)據(jù)進行排序。排序方式有升序和降序兩種。數(shù)據(jù)項和計算域都可以作為數(shù)據(jù)排序條件的元素,數(shù)據(jù)排序條件是包含至少一個上述元素的計算表達式。比如,要按照年齡進行排序,則設定排序表達式為"ageA"(年齡的字段名為age,A表示從小到大升序排序,降序則使用D)。(5)定義數(shù)據(jù)過濾條件。數(shù)據(jù)展示模型中定義的數(shù)據(jù)過濾條件,用于對展示在客戶端頁面上的數(shù)據(jù)進行過濾,符合過濾條件的數(shù)據(jù)行被顯示出來,否則被隱藏。數(shù)據(jù)過濾操作在客戶端完成,可以減少與服務器或數(shù)據(jù)庫交互的次數(shù)。數(shù)據(jù)項和計算域都可以作為數(shù)據(jù)過濾條件的元素,數(shù)據(jù)過濾條件是包含至少一個上述元素的計算表達式,比如,要設置過濾出所有年齡大于30的記錄,則過濾表達式為"age>30"(年齡的字段名為age)。(6)定義數(shù)據(jù)提交方式。數(shù)據(jù)提交方式定義了在客戶端頁面上展示的數(shù)據(jù)被最終用戶改動之后,是否需要提交、提交哪些數(shù)據(jù)、哪幾個數(shù)據(jù)項作為數(shù)據(jù)提交時的關鍵字。數(shù)據(jù)展示模型定義完成后,會生成一個數(shù)據(jù)展示模型XML文檔。本發(fā)明一實施例中,數(shù)據(jù)展示模型XML文檔的格式可如表1所示。表1.數(shù)據(jù)展示模型XML文檔格式示例〈文檔根節(jié)點標簽>〈數(shù)據(jù)集定義標簽>〈數(shù)據(jù)集SQL語句定義標簽/>〈數(shù)據(jù)集表標簽/>〈數(shù)據(jù)集列標簽/>〈檢索參數(shù)定義標簽/>〈數(shù)據(jù)過濾條件標簽/>〈數(shù)據(jù)排序條件標簽/>〈/數(shù)據(jù)集定義標簽>〈數(shù)據(jù)分組定義標簽/>〈標題區(qū)定義標簽/>〈表頭區(qū)定義標簽/>〈數(shù)據(jù)區(qū)定義標簽/>〈表尾區(qū)定義標簽/>〈腳注區(qū)定義標簽/>〈文本對象定義標簽/>〈圖片對象定義標簽/>〈按鈕對象定義標簽/>〈計算域?qū)ο蠖x標簽/>〈矩形框?qū)ο蠖x標簽/>〈線條對象定義標簽/>〈二進制對象定義標簽/>〈列對象定義標簽>〈列編輯模式定義標簽/>〈/列對象定義標簽>〈/文檔根節(jié)點標簽>對于具有外部數(shù)據(jù)源的數(shù)據(jù)展示模型,數(shù)據(jù)展示模型XML文檔的格式基本上與表1相同,只是在〈數(shù)據(jù)集定義標簽>節(jié)點下,不包括〈數(shù)據(jù)集SQL語句定義標簽/>和〈數(shù)據(jù)集表標簽/>兩個節(jié)點。步驟S120,向服務器提交所述數(shù)據(jù)展示模型XML文檔。具體地,數(shù)據(jù)展示模型定義完成后,客戶端(如通過客戶端的瀏覽器頁面腳本)會向服務器發(fā)送保存數(shù)據(jù)展示模型XML文檔的請求,以請求服務器端保存所述數(shù)據(jù)展示模型XML文檔。服務器端處理客戶端的請求,將該數(shù)據(jù)展示模型XML文檔進行保存。如果保存失敗,則服務器端會返回錯誤信息至客戶端。通過上述步驟S110S120,便完成了數(shù)據(jù)展示模型的建立?;谏鲜鼋⒌臄?shù)據(jù)展示模型,或者說,基于在上述過程中建立的數(shù)據(jù)展示模型8XML文檔,任意與服務器連接的客戶端就可以方便地在web頁面上進行數(shù)據(jù)展示。進行數(shù)據(jù)展示就是獲取保存在服務器上的數(shù)據(jù)展示模型XML文檔和相關數(shù)據(jù),以表單的形式將相關數(shù)據(jù)展示在客戶端恥b頁面上,以便最終用戶查看或操作。如圖2所示,本發(fā)明一實施例中,在客戶端進行數(shù)據(jù)展示的流程包括步驟S210,客戶端向服務器發(fā)送數(shù)據(jù)展示請求。客戶端頁面上如果包含了引用數(shù)據(jù)展示模型的腳本或標簽,在頁面被執(zhí)行時,就會向服務器端發(fā)送請求,以獲取指定的數(shù)據(jù)展示模型XML文檔。服務器端接收到客戶端頁面的請求后,獲取客戶端頁面所請求的數(shù)據(jù)展示模型名稱,通過模型名稱轉(zhuǎn)換為數(shù)據(jù)展示模型XML文檔的實際路徑,然后讀取文檔內(nèi)容。如果指定的數(shù)據(jù)展示模型XML文檔被找到且能正確讀取其內(nèi)容,則返回數(shù)據(jù)展示模型XML文檔內(nèi)容到客戶端;否則返回錯誤信息。步驟S220,接收來自服務器的數(shù)據(jù)展示模型XML文檔。如果服務器端能夠成功找到并讀取數(shù)據(jù)展示模型XML文檔的內(nèi)容,則服務器端會返回數(shù)據(jù)展示模型XML文檔內(nèi)容到客戶端,此時客戶端會接收到來自服務器的數(shù)據(jù)展示模型XML文檔。步驟S230,解析所述數(shù)據(jù)展示模型XML文檔,創(chuàng)建數(shù)據(jù)展示模型實例化對象,在web頁面上展示該數(shù)據(jù)展示模型實例化對象的表單框架并創(chuàng)建本地數(shù)據(jù)緩存對象。數(shù)據(jù)展示模型XML文檔中定義的信息不能直接在網(wǎng)頁上顯示,而是通過數(shù)據(jù)展示模型實例化對象來展示??蛻舳私邮盏絹碜苑掌鞫说臄?shù)據(jù)展示模型XML文檔后,通過頁面腳本調(diào)用相應的解析引擎解析所述數(shù)據(jù)展示模型XML文檔,創(chuàng)建數(shù)據(jù)展示模型實例化對象。數(shù)據(jù)展示模型實例化對象是一個界面對象,數(shù)據(jù)展示模型實例化對象不僅可以用于展示數(shù)據(jù)展示模型所定義的外觀和屬性,還可以根據(jù)數(shù)據(jù)展示模型創(chuàng)建數(shù)據(jù)操作的方法和事件,并響應最終用戶的各種操作和事件,即具備界面交互能力。比如最終用戶想添加一行新數(shù)據(jù),則調(diào)用實例化對象的創(chuàng)建的"添加行"方法,上述實例化對象的"添加行"方法負責實現(xiàn)具體的添加操作;在響應事件方面,比如用戶在某一個數(shù)據(jù)項上按下Tab鍵,則上述實例化對象自動將輸入焦點跳轉(zhuǎn)到下一個數(shù)據(jù)項。圖3為本發(fā)明實施例的數(shù)據(jù)展示模型實例化對象的結(jié)構(gòu)示意圖,描述如下數(shù)據(jù)展示模型實例化對象可包括三個子對象數(shù)據(jù)定義對象、數(shù)據(jù)視圖對象和數(shù)據(jù)操作對象。其中數(shù)據(jù)定義對象負責解析數(shù)據(jù)展示模型XML文檔,存儲數(shù)據(jù)展示模型XML文檔中的各種定義;數(shù)據(jù)視圖對象用于讀取數(shù)據(jù)定義對象中的各種定義,并按照各定義所描述的風格在web頁面上創(chuàng)建表單框架和填充數(shù)據(jù);數(shù)據(jù)操作對象不依賴于具體的數(shù)據(jù)展示模型,可為任何數(shù)據(jù)展示模型的實例對象創(chuàng)建數(shù)據(jù)操作所需要的方法和事件,其中所述數(shù)據(jù)操作可包括提交、增加、刪除、修改、查詢等,但并不限于此。針對該數(shù)據(jù)展示模型實例化對象,客戶端根據(jù)數(shù)據(jù)展示模型XML文檔中定義的表單布局、界面對象等顯示樣式信息,在客戶端頁面上創(chuàng)建相應的網(wǎng)頁元素并設置其屬性(如寬度、高度、顏色、字體等),以達到預期的界面效果。此時生成的界面網(wǎng)頁元素不包括數(shù)據(jù),只包括表單框架。客戶端頁面腳本在創(chuàng)建好表單框架后,還會自動創(chuàng)建一個本地數(shù)據(jù)緩存對象。本地數(shù)據(jù)緩存對象駐留在客戶端內(nèi)存中,剛創(chuàng)建的本地數(shù)據(jù)緩存對象中并不包含數(shù)據(jù)??蛻?端可通過向本地數(shù)據(jù)緩存對象中添加數(shù)據(jù),要向數(shù)據(jù)緩存對象中增加數(shù)據(jù)有兩種途徑(1)向服務器檢索數(shù)據(jù)并獲取數(shù)據(jù)XML文檔,解析數(shù)據(jù)XML文檔,將數(shù)據(jù)按照行列添加到本地數(shù)據(jù)緩存對象中;(2)調(diào)用數(shù)據(jù)展示模型實例化對象增加數(shù)據(jù)的相關方法或事件,將數(shù)據(jù)行添加到本地數(shù)據(jù)緩存對象中,并設置列數(shù)據(jù)值。設置列數(shù)據(jù)值是設置添加的新行中所包含的若干列的值。一行數(shù)據(jù)包含若干列,每個列有一個數(shù)據(jù)值。本實施例中,本地數(shù)據(jù)緩存對象的格式示意如圖4所示。本地數(shù)據(jù)緩存對象可按行存儲數(shù)據(jù),每行包括"行修改狀態(tài)"和"數(shù)據(jù)列集合"。其中行修改狀態(tài)包括未修改、新增加、被修改(即被替換)、被刪除等。數(shù)據(jù)列集合由若干數(shù)據(jù)列對象組成。每個數(shù)據(jù)列對象包括"列修改狀態(tài)"和"列數(shù)據(jù)值"。列修改狀態(tài)包括未修改、被修改。列數(shù)據(jù)值包括原始值、修改后的值、是否為空。從上述結(jié)構(gòu)可以看出,無論是新增加、刪除還是替換的數(shù)據(jù),并沒有立即提交到服務器端進行處理,而是保存在本地數(shù)據(jù)緩存對象中,就相當于本地有一個數(shù)據(jù)集合,任何數(shù)據(jù)操作都是在這個數(shù)據(jù)集合上進行。當數(shù)據(jù)操作完成后,發(fā)出提交數(shù)據(jù)的請求時,再統(tǒng)一向服務器提交這些數(shù)據(jù)。本地數(shù)據(jù)緩存相當于一個本地的臨時數(shù)據(jù)存儲容器,客戶端頁面對數(shù)據(jù)的讀寫操作都在這個數(shù)據(jù)存儲容器中進行,不必每次都訪問服務器。等客戶端操作完成之后,再一次性提交到服務器,因此使用本地數(shù)據(jù)緩存對象可以減少客戶端頁面與服務器端交互的次數(shù)。同時,因為每次訪問的數(shù)據(jù)都是在本地計算機內(nèi)存中的對象,沒有網(wǎng)絡延遲和磁盤讀寫,所以還能提高頁面響應速度。步驟S240,向服務器發(fā)送數(shù)據(jù)檢索請求,該數(shù)據(jù)檢索請求中攜帶數(shù)據(jù)展示模型的數(shù)據(jù)集定義??蛻舳隧撁嫒绻枰獧z索數(shù)據(jù),即進行查詢操作,則可通過客戶端腳本向服務器端發(fā)送檢索數(shù)據(jù)的請求。此時,客戶端腳本將數(shù)據(jù)展示模型的數(shù)據(jù)集定義部分發(fā)送到服務器端,數(shù)據(jù)集定義包含了獲取數(shù)據(jù)的規(guī)則。服務器端響應數(shù)據(jù)檢索請求,并解析接收到的數(shù)據(jù)集定義,按照數(shù)據(jù)集定義中的數(shù)據(jù)獲取規(guī)則從數(shù)據(jù)庫中獲取數(shù)據(jù),例如在數(shù)據(jù)庫中執(zhí)行數(shù)據(jù)集定義中的SQL語句,得到一個結(jié)果集,其中可包含數(shù)據(jù)集定義所描述的數(shù)據(jù)庫表中的數(shù)據(jù)。如果成功獲取到數(shù)據(jù)(結(jié)果集),則服務器端將獲取的數(shù)據(jù)組合成一個XML格式的文檔,即數(shù)據(jù)XML文檔,并返回給客戶端頁面;否則,向客戶端返回錯誤信息??蛻舳藱z索數(shù)據(jù)的時候,如果數(shù)據(jù)展示模型設置了檢索參數(shù)定義,需要客戶端腳本提供檢索參數(shù)的值。此時,客戶端腳本將數(shù)據(jù)展示模型的數(shù)據(jù)集定義部分連同檢索參數(shù)的值一起發(fā)送到服務器端。所述數(shù)據(jù)XML文檔的格式可如表2所示表2.數(shù)據(jù)XML文檔格式示例〈文檔根節(jié)點標簽>〈事務信息標簽>〈執(zhí)行結(jié)果代碼/>〈執(zhí)行結(jié)果描述/>〈/事務信息標簽>〈數(shù)據(jù)集標簽>〈數(shù)據(jù)行標簽>〈列標簽>數(shù)據(jù)〈/列標簽>〈/數(shù)據(jù)行標簽>〈/數(shù)據(jù)集標簽>〈/文檔根節(jié)點標簽>步驟250,接收來自服務器的數(shù)據(jù)XML文檔,解析所述數(shù)據(jù)XML文檔獲得展示數(shù)據(jù),將所述展示數(shù)據(jù)填充到所述表單框架中,形成表單并進行展示。客戶端接收到服務器端返回的數(shù)據(jù)XML文檔,調(diào)用數(shù)據(jù)解析引擎解析所述數(shù)據(jù)XML文檔,并將解析后獲得的展示數(shù)據(jù)添加到本地數(shù)據(jù)緩存對象中。客戶端腳本將當前需要展示在頁面上的展示數(shù)據(jù)從本地數(shù)據(jù)緩存對象中提取出來,填充到客戶端頁面上創(chuàng)建好的表單框架中,形成完整的表單,從而可通過表單實現(xiàn)客戶端頁面的數(shù)據(jù)展示。實現(xiàn)客戶端頁面的數(shù)據(jù)展示之后,本地數(shù)據(jù)緩存對象將被保留在客戶端內(nèi)存中,用戶可以以本地數(shù)據(jù)緩存對象為基礎對數(shù)據(jù)進行數(shù)據(jù)修改等操作,數(shù)據(jù)修改操作又可包括增加、刪除、替換等操作。下面對數(shù)據(jù)操作過程進行詳細的說明。如圖5所示,數(shù)據(jù)展示流程中的后續(xù)數(shù)據(jù)操作還包括如下步驟步驟S260,對表單中的數(shù)據(jù)進行修改操作,對修改后的數(shù)據(jù)設置修改狀態(tài)標識并存儲所述修改后的數(shù)據(jù)。數(shù)據(jù)修改操作可改變上述創(chuàng)建好的表單中的數(shù)據(jù)。具體地,如圖6所示,數(shù)據(jù)修改操作的類型例如可分為增加數(shù)據(jù)、刪除數(shù)據(jù)和替換數(shù)據(jù)。其中增加數(shù)據(jù)是按照數(shù)據(jù)展示模型定義中描述的數(shù)據(jù)行的結(jié)構(gòu)來添加新的數(shù)據(jù)行??蛻舳四_本執(zhí)行增加數(shù)據(jù)的腳本后,將新添加的數(shù)據(jù)行寫入到本地數(shù)據(jù)緩存對象中,并設置該數(shù)據(jù)行的狀態(tài)為"新增"。刪除數(shù)據(jù)是將本地數(shù)據(jù)緩存對象中要刪除的數(shù)據(jù)行的狀態(tài)設置為"刪除"。如果該數(shù)據(jù)行是當前頁面上展示的數(shù)據(jù),則同時從頁面上刪除。替換數(shù)據(jù)是客戶端頁面腳本將新的數(shù)據(jù)行寫入到本地數(shù)據(jù)緩存對象中相應的位置,替換原有的數(shù)據(jù)行,并設置該新的數(shù)據(jù)行的狀態(tài)為"替換"。執(zhí)行增加、刪除或替換等修改操作之后,本地數(shù)據(jù)緩存對象也被修改,原始的數(shù)據(jù)和修改后的數(shù)據(jù)都被記錄在本地數(shù)據(jù)緩存對象中。如果需要向服務器端提交修改后的數(shù)據(jù),則本發(fā)明實施例可進一步包括如下步驟步驟S270,提取所述修改后的數(shù)據(jù),生成數(shù)據(jù)變更XML文檔。如果需要提交這些被改動的數(shù)據(jù),客戶端可以調(diào)用數(shù)據(jù)展示模型實例化對象的數(shù)據(jù)提交方法,該方法可自動遍歷本地數(shù)據(jù)緩存對象,把被改動的數(shù)據(jù)提取出來,形成一個記錄數(shù)據(jù)改動情況的數(shù)據(jù)變更XML文檔。數(shù)據(jù)變更XML文檔的格式可如表3所示。表3.數(shù)據(jù)變更XML文檔格式〈文檔根節(jié)點標簽>〈數(shù)據(jù)集定義標簽>〈數(shù)據(jù)集SQL語句定義標簽/>〈數(shù)據(jù)集表標簽/>〈數(shù)據(jù)集列標簽/>〈/數(shù)據(jù)集定義標簽>〈數(shù)據(jù)改動記錄集標簽>〈數(shù)據(jù)增加記錄集標簽>〈增加的行/>〈/數(shù)據(jù)增加記錄集標簽>〈數(shù)據(jù)替換記錄集標簽>〈替換的行/>〈/數(shù)據(jù)替換記錄集標簽>〈數(shù)據(jù)刪除記錄集標簽>〈刪除的行/>〈/數(shù)據(jù)刪除記錄集標簽>〈/數(shù)據(jù)改動記錄集標簽>〈/文檔根節(jié)點標簽>步驟280,向服務器提交數(shù)據(jù)更新請求和所述數(shù)據(jù)變更XML文檔,以使所述服務器更新數(shù)據(jù)庫中的數(shù)據(jù)。該數(shù)據(jù)變更XML文檔以及數(shù)據(jù)更新請求可被一起提交到服務器端,服務器端會處理所述數(shù)據(jù)更新請求,并解析所述數(shù)據(jù)變更XML文檔,利用所述數(shù)據(jù)變更XML文檔更新當前數(shù)據(jù)庫中的數(shù)據(jù),例如,更新數(shù)據(jù)集定義所描述的數(shù)據(jù)庫表中的數(shù)據(jù)。如果更新失敗可返回錯誤信息,如果更新成功可向客戶端返回成功信息及更新的記錄數(shù)(該記錄數(shù)表示一次添加、刪除或替換了多少條記錄)。由于服務器端管理數(shù)據(jù)庫的數(shù)據(jù)庫管理系統(tǒng)有可能是不同類型的數(shù)據(jù)管理系統(tǒng),而每種數(shù)據(jù)庫管理系統(tǒng)的語法都有所差別,因此本發(fā)明實施例還提供一種數(shù)據(jù)庫適配器對象,以適應不同的數(shù)據(jù)庫管理系統(tǒng)。具體地,可由數(shù)據(jù)庫適配器對象根據(jù)不同的數(shù)據(jù)庫管理系統(tǒng),生成適合當前數(shù)據(jù)庫的批量更新數(shù)據(jù)庫的命令并執(zhí)行所述命令。若執(zhí)行命令失敗可返回錯誤信息;執(zhí)行命令成功可返回成功信息和更新的記錄數(shù)。本發(fā)明實施例中,數(shù)據(jù)庫適配器對象是一個Java類對象,其結(jié)構(gòu)示意可如圖7所示。圖7中,數(shù)據(jù)庫適配器對象為每個數(shù)據(jù)庫管理系統(tǒng)提供了一個適配接口,每個接口與對應的數(shù)據(jù)庫驅(qū)動程序交互,數(shù)據(jù)庫驅(qū)動程序由數(shù)據(jù)庫管理系統(tǒng)廠家提供。每個適配接口負責處理特定數(shù)據(jù)庫的語法,為外部12程序提供一個統(tǒng)一的數(shù)據(jù)操作接口。數(shù)據(jù)檢索、數(shù)據(jù)更新等數(shù)據(jù)操作的方法都是以這個統(tǒng)一的數(shù)據(jù)操作接口為基礎。數(shù)據(jù)庫適配對象可以增強外部程序的數(shù)據(jù)庫無關性。本發(fā)明實施例中,數(shù)據(jù)展示模型的建立方法及對應的數(shù)據(jù)展示方法可以基于多種web開發(fā)組件來實現(xiàn),例如可以基于DJFocus的web開發(fā)組件來實現(xiàn),但本發(fā)明并不限于此,其他目前用于web頁面開發(fā)的組件也同樣適用于本發(fā)明。其中DJFocus是一個基于Java的web開發(fā)組件,程序開發(fā)人員可借助DJFocus快速開發(fā)web應用。如圖8所示,DJFocus可分兩部分來實現(xiàn)本發(fā)明,一部分是服務器端代碼(包括TagLib、Serlvet和JavaBean等),另一部分是在客戶端頁面中運行的Script腳本。本實施例中,采用DJFocus的具體實現(xiàn)步驟例如可為第一步,創(chuàng)建數(shù)據(jù)展示模型。這個可以通過DJFocus提供的設計器(Designer)進行設計,也可以手工創(chuàng)建一個XML文檔,按照表1所規(guī)定的格式輸入數(shù)據(jù)展示模型的定義,并將這個XML文檔保存在服務器上。第二步,根據(jù)數(shù)據(jù)展示模型創(chuàng)建數(shù)據(jù)展示模型實例化對象。開發(fā)人員可通過在客戶端頁面上的TagLib標簽調(diào)用TagLib服務器端程序,TagLib服務器端程序通過調(diào)用相關的JavaBean,并將服務器端的信息返回到客戶端頁面,這部分程序用于在客戶端頁面上創(chuàng)建數(shù)據(jù)展示模型實例化對象。第三步,調(diào)用數(shù)據(jù)展示模型實例化對象的方法和事件。通過客戶端頁面上的Script腳本引用DJFocus客戶端代碼,DJFocus客戶端代碼通過AJAX技術(shù)提交客戶端請求到服務器端Servlet程序。DJFocus服務器端Servlet程序接收到客戶端的請求后,調(diào)用相關的JavaBean或者通過JavaBean調(diào)用數(shù)據(jù)庫適配器從數(shù)據(jù)庫獲取數(shù)據(jù),并將處理結(jié)果返回到客戶端頁面,從而實現(xiàn)數(shù)據(jù)的展示。從上述過程可以看出,傳統(tǒng)技術(shù)中在web頁面上用HTML組合表單的過程被本發(fā)明的數(shù)據(jù)展示模型的建立和數(shù)據(jù)展示過程所替代;并且傳統(tǒng)技術(shù)中在恥b頁面上編寫Script腳本處理數(shù)據(jù)修改的過程被封裝到本發(fā)明的數(shù)據(jù)展示模型實例對象中,不需要額外編寫代碼。以下通過一個在網(wǎng)頁上展示表單數(shù)據(jù)的例子來說明發(fā)明的效果。圖9是要展示一個最基本的列表式表格。要實現(xiàn)如圖9所示的展示,要求從數(shù)據(jù)庫表person」nfo中取出4個字段的數(shù)據(jù)并展示,這4個字段分別為id(標識,例如可為編號),name(姓名),sex(性別)及age(年齡),其中sex字段根據(jù)代碼"1"或者"0"顯示"男"還是"女"。圖9所示的表格中,要求每個數(shù)據(jù)項的數(shù)據(jù)可編輯,并能增加、刪除和保存數(shù)據(jù)。下面分別在硬件軟件環(huán)境完全一樣的情況下,通過采用傳統(tǒng)技術(shù)和采用本發(fā)明的數(shù)據(jù)展示方法來體現(xiàn)本發(fā)明的有益效果。本實施例中,采用的軟件平臺是基于DJFocus的Web開發(fā)組件。(l)采用傳統(tǒng)技術(shù)采用傳統(tǒng)技術(shù),開發(fā)人員需要寫兩個頁面數(shù)據(jù)展示頁面normal—showData.jsp和數(shù)據(jù)保存頁面normal_saveData.jsp,這兩個頁面的腳本代碼見表4。去掉jsp和HTML頁面所必需的代碼外,用于數(shù)據(jù)展示和操作的腳本代碼共計195行。表4.normal—showData.jsp禾口normal—saveData.jsp的展卩本代碼<table>tableseeoriginaldocumentpage14</column></row><table><table>tableseeoriginaldocumentpage15</column></row><table><table>tableseeoriginaldocumentpage16</column></row><table>cell=row.insertCell0;oSelect=cell.appendChild(document.createElement("<select>"));oSelect.onfocus=function0{—curRow=row.rowlndex;};〃設置性別的下拉選擇項oOption=document.createElement("<option>");oOption.value="1";oOption.text="男";oSelect.options.add(oOption);oOption=document.createElement("<option>");oOption.value="0";oOption.text="女";oSelect.options.add(oOption);〃設置第五列年齡cell=row.insertCell0;ol叩ut=cell.appendChild(document.createElement("<inputtype=text>"ol叩ut.style.textAlign="right";ol叩ut.onfocus=function0{this.select0;—curRow=row.rowlndex;〃刪除按鈕點擊事件functionbtnDelete.onclickO{if(_curRow<l)return;〃將被刪除行的關鍵字段的值保存到數(shù)組中if(dataTable.rows[_curRow]■cells[1]■firstChild.DBValue){—deletedRow.push(dataTable.rows[—curRow].cells[l].firstChild.DBValue):}〃刪除表單中的行dataTable.deleteRow(—curRow);〃設置當前行if(—curRow==dataTable.rows,length)—curRow--;if(dataTable.rows.length>l){if(—curRowKl)CurRow=1;dataTable.rows[—curRow].cells[1].firstChild.focus0;〃設置行的序號for(vari=1;i<dataTable.rows,length{dataTable.rows[i].cells.innerHTML=i;CN101788994A眾s步14/24X<table>tableseeoriginaldocumentpage18</column></row><table><image>imageseeoriginaldocumentpage19</image>(2)采用本發(fā)明的數(shù)據(jù)展示方法若采用本發(fā)明來實現(xiàn)圖9的展示效果,則是先用DJFocus設計器進行可視化數(shù)據(jù)展示模型設計,建立數(shù)據(jù)展示模型。然后基于建立的數(shù)據(jù)展示模型進行數(shù)據(jù)的展示?;贒JFocus的web開發(fā)組件實現(xiàn)圖9所示的展示的步驟舉例如下第一步開發(fā)人員在DJFocus設計器中選擇"新建模型",在彈出的新建窗口中,根據(jù)需要展現(xiàn)的表格和數(shù)據(jù)庫表的字段信息,確定表單展示風格和SQL查詢語句,然后創(chuàng)建一個名為personList.xml的XML文檔,此時所創(chuàng)建的XML文檔就是數(shù)據(jù)展示模型XML文檔,該文檔保存在服務器上。圖10為通過DJfocus設計器新建一個名為personList.xml的數(shù)據(jù)展示模型的界面示意圖。0132]上述數(shù)據(jù)展示模型中,數(shù)據(jù)集定義可如下〈datasource>〈sqlselect>selectid,name,sex,agefromperson_info〈/sqlselect>〈tabletype=〃table">person_info〈/table>〈coltableid=ltype=〃NUMBER"precision=〃6〃scale=〃0〃>id〈/0133]0134]0135]0136]col>0137]0138]0139]0140]0141]〈coltableid=1type=〃VARCHAR">name〈/col>〈coltableid=1type=〃CHAR">sex〈/col>〈coltableid=1type=〃NUMBER">age〈/col>〈/datasource>上述數(shù)據(jù)集定義包含了4個列id,name,sex,age。這些列可以作為數(shù)據(jù)展示的數(shù)據(jù)項,放置在數(shù)據(jù)展示模型中指定的位置上,用來展示從數(shù)據(jù)庫中檢索出來的數(shù)據(jù)。0142]第二步打開創(chuàng)建的數(shù)據(jù)展示模型XML文檔,進行模型的屬性設置。0143]在第一步創(chuàng)建模型時,使用的基本上都是默認的屬性,這些屬性通常不能完全滿足需求,所以要在第二步進行詳細的設置。具體地,DJFocus組件可通過一個設計器畫板打開創(chuàng)建的數(shù)據(jù)展示模型XML文檔,自動生成一個初始的表格樣式,開發(fā)人員在此基礎上進一步設置表格的各種屬性,即進行數(shù)據(jù)展示模型XML文檔的編輯,比如設置表格標題欄的背景、數(shù)據(jù)項字體、顏色等等。圖11為通過DJFoucsDesigner設計表單的界面示意圖。設置完成之后,保存數(shù)據(jù)展示模型XML文檔。保存的數(shù)據(jù)展示模型XML文檔示例如表5所示。表5.數(shù)據(jù)展示模型XML文檔示例20<table>tableseeoriginaldocumentpage21</column></row><table><table>tableseeoriginaldocumentpage22</column></row><table>第三步使用數(shù)據(jù)展示模型XML文檔。開發(fā)人員在客戶端頁面上利用標簽庫TagLib標簽,引用數(shù)據(jù)展示模型,DJFocus組件會根據(jù)所引用的數(shù)據(jù)展示模型在客戶端頁面上創(chuàng)建相應的數(shù)據(jù)展示模型實例化對象,并同時創(chuàng)建三個子對象數(shù)據(jù)定義對象、數(shù)據(jù)視圖對象和數(shù)據(jù)操作對象。數(shù)據(jù)定義對象負責解析XML文檔中的各個定義節(jié)點,然后由數(shù)據(jù)視圖對象來負責展示。數(shù)據(jù)操作對象負責加載操作所需要的方法和事件。此時,還會創(chuàng)建本地數(shù)據(jù)緩存對象,但此時不填充具體的數(shù)據(jù)。第四步檢索數(shù)據(jù)。開發(fā)人員通過客戶端Script腳本調(diào)用檢索數(shù)據(jù)的方法,數(shù)據(jù)展示模型實例化對象則向服務器端發(fā)送檢索數(shù)據(jù)的請求,服務器端Servlet程序接收到請求之后,調(diào)用相應的JavaBean,JavaBean程序通過數(shù)據(jù)庫適配器從數(shù)據(jù)庫中獲取到所需要的數(shù)據(jù),并通過Servlet返回給客戶端頁面。此時,返回的數(shù)據(jù)就是以數(shù)據(jù)XML文檔的形式返回的。返回的數(shù)據(jù)XML文檔示例如表6所示。表6.數(shù)據(jù)XML文檔格式示例〈?xmlversion=〃1.0〃?>〈xmldata>〈transinfo>〈code>0〈/code>〈dbcode>0〈/dbcode>〈message>〈/message>〈retrievedrows>3〈/retrievedrows>〈/transinfo>〈dataset>〈r>〈c>001〈/c>〈c>張三〈/c>〈c>0〈/c>〈c>36〈/c>〈/r>〈r>〈c>002〈/c>〈c>李四〈/c>〈c>l〈/c>〈c>38〈/c>〈/r>〈r>〈c>003〈/c>〈c>王五〈/c>〈c>l〈/c>〈c>42〈/c>〈/r>〈/dataset>〈/xmldata>23第五步展示數(shù)據(jù)??蛻舳隧撁嬷械臄?shù)據(jù)展示模型實例化對象接收到服務器端返回的數(shù)據(jù)XML文檔后,將數(shù)據(jù)填充到本地數(shù)據(jù)緩存對象中,并同時把當前需要顯示的數(shù)據(jù)填充到頁面上的表單框架中,形成的表單如圖9所示。第六步數(shù)據(jù)操作。展示在頁面上的數(shù)據(jù)展示模型實例化對象是一個可交互的界面對象。數(shù)據(jù)展示模型實例化對象可調(diào)用各種方法(查詢、增加、刪除、替換、保存等)來實現(xiàn)與最終用戶的交互,并可更新展示交互后的結(jié)果。當操作完成之后需要提交時,就要使用數(shù)據(jù)變更XML文檔。數(shù)據(jù)變更XML文檔可將本地交互所產(chǎn)生的數(shù)據(jù)變更按照增加、刪除、替換進行分類匯總。上述數(shù)據(jù)變更XML文檔通過客戶端Script腳本采用AJAX技術(shù)與服務器端Servlet程序通信,提交數(shù)據(jù)變更XML文檔到服務器端。服務器端通過Servlet程序調(diào)用JavaBean和數(shù)據(jù)庫適配器,將數(shù)據(jù)變更提交到數(shù)據(jù)庫中。然后通過Servlet返回本次提交是否成功的信息。客戶端頁面接收到服務器的返回信息后,提示最終用戶本次操作是否成功。數(shù)據(jù)操作后生成的數(shù)據(jù)變更XML文檔的示例如表7所示。表7.數(shù)據(jù)變更XML文檔示例24<xmlversion="1.0"><xmldata><datasource><sqlselect>selectID,NAME,SEX,AGEfromPERSON—INFOorderbyid</sqlselect><tableschema="DPSUSER"type="TABLE"update="yes">person—info</column></row><table><colcoltype="string"type="CHAR"nullable="no"precision="3"scale="0"tableid="1"update="yes"key="yes">id</col><colcoltype="string"type="CHAR"nullable="no"precision="10"scale="0"tableid="1"update="yes"key="no">name</col><colcoltype="string"type="CHAR"nullable="no"precision="1"scale="0"tableid="1"update="yes"key="no">sex</col><colcoltype="number"type="NUMBER"nullable="no"precision="5"scale="0tableid="1"update="yes"key="no">age</col></datasource><updatelist><deletedrow><r><pk>003</pk></r></deletedrow><updatedrow><r><c>002</c><cs="1"0="李四"n="0"〉李四l〈/c〉<c>l</c><cs="1"o="38"n="0">33</c></r></updatedrow><insertedrow><r><cs="2"n="0">005</c><CS="2"n="0"〉趙六〈/c〉<cs="2"n="0">0</c><cs="2"n="0">32</c></r></insertedrow></updatelist>:/xmldata>本實施例中基于DJFocus來實現(xiàn)圖9所展示的表格的的腳本代碼如表8所示。在頁面上調(diào)用表8所示的腳本代碼,去掉jsp和HTML頁面所必需的代碼外,用于數(shù)據(jù)展示和操作的腳本代碼共計18行,代碼行數(shù)不到傳統(tǒng)方式的十分之一。表8.基于DJFocus來實現(xiàn)圖9所展示的表格的代碼25<table>tableseeoriginaldocumentpage26</column></row><table>效率并減少腳本出錯的機率。本發(fā)明實施例還提供一種數(shù)據(jù)展示模型建立裝置,如圖12所示,該裝置包括定義單元1201,用于進行數(shù)據(jù)展示模型定義,包括定義數(shù)據(jù)集及顯示樣式;生成單元1202,用于根據(jù)所述數(shù)據(jù)展示模型定義生成數(shù)據(jù)展示模型可擴展標記語言XML文檔;存儲單元1203,用于將所述數(shù)據(jù)展示模型XML文檔存儲在服務器。在具體應用中,所述定義單元1201還用于定義數(shù)據(jù)展示模型中如下信息中的一項或多項數(shù)據(jù)分組條件、數(shù)據(jù)排序條件、數(shù)據(jù)過濾條件及數(shù)據(jù)提交方式。本實施例提供的數(shù)據(jù)展示模型建立裝置可以為客戶端或客戶端的一部分,可用于實現(xiàn)前述的數(shù)據(jù)展示模型建立方法。本發(fā)明實施例還提供一種數(shù)據(jù)展示裝置,如圖13所示,該數(shù)據(jù)展示裝置1300包括第一發(fā)送單元1301,用于向服務器發(fā)送數(shù)據(jù)展示請求;第一接收單元1302,用于接收來自服務器的數(shù)據(jù)展示模型可擴展標記語言XML文檔,該數(shù)據(jù)展示模型XML文檔包括數(shù)據(jù)集定義以及顯示樣式定義;創(chuàng)建單元1303,用于根據(jù)所述數(shù)據(jù)展示模型XML文檔創(chuàng)建表單框架;第二發(fā)送單元1304,用于向所述服務器發(fā)送數(shù)據(jù)檢索請求,該請求中攜帶所述數(shù)據(jù)集定義;解析弓|擎1305,用于接收來自服務器的數(shù)據(jù)XML文檔,解析所述數(shù)據(jù)XML文檔獲得展示數(shù)據(jù),并將所述展示數(shù)據(jù)填充到所述表單框架中,形成表單并進行展示;展示單元1306,用于展示所述表單。在本發(fā)明具體應用中,該裝置還可包括修改單元1307,用于對表單中的數(shù)據(jù)進行修改,并對修改后的數(shù)據(jù)設置修改狀態(tài)標識。提取單元1308,用于提取所述修改后的數(shù)據(jù),生成數(shù)據(jù)變更XML文檔;提交單元1309,用于向所述服務器提交所述數(shù)據(jù)變更XML文檔,以使所述服務器更新數(shù)據(jù)庫。本發(fā)明實施例提供的數(shù)據(jù)展示裝置為客戶端或客戶端的一部分,可用于實現(xiàn)前述實施例中的數(shù)據(jù)展示方法。本領域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分步驟可以通過程序來指令相關的硬件來完成,該程序可以存儲于一計算機可讀取存儲介質(zhì)中,比如ROM/RAM、磁碟、光盤等。以上所述的具體實施例,對本發(fā)明的目的、技術(shù)方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發(fā)明的具體實施例而已,并不用于限定本發(fā)明的保護范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。權(quán)利要求一種數(shù)據(jù)展示方法,其特征在于,包括向服務器發(fā)送數(shù)據(jù)展示請求;接收來自服務器的數(shù)據(jù)展示模型可擴展標記語言XML文檔,該數(shù)據(jù)展示模型XML文檔包括數(shù)據(jù)集定義以及顯示樣式定義;根據(jù)所述數(shù)據(jù)展示模型XML文檔創(chuàng)建表單框架;向服務器發(fā)送數(shù)據(jù)檢索請求,該請求中攜帶所述數(shù)據(jù)集定義;接收來自服務器的數(shù)據(jù)XML文檔,解析所述數(shù)據(jù)XML文檔獲得展示數(shù)據(jù),將所述展示數(shù)據(jù)填充到所述表單框架中,形成表單并進行展示。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括創(chuàng)建本地數(shù)據(jù)緩存對象,并存儲所述數(shù)據(jù)XML文檔至本地數(shù)據(jù)緩存對象。3.根據(jù)權(quán)利要求1所述的方法,其特征在于所述數(shù)據(jù)展示模型還包括如下信息中的一項或多項檢索參數(shù)定義、數(shù)據(jù)分組定義、數(shù)據(jù)排序定義、數(shù)據(jù)過濾定義以及數(shù)據(jù)提交方式定義。4.根據(jù)權(quán)利要求l所述的方法,其特征在于,還包括對表單中的數(shù)據(jù)進行修改,對修改后的數(shù)據(jù)設置修改狀態(tài)標識并進行存儲。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述對表單中的數(shù)據(jù)進行修改包括增加、刪除或替換表單中的數(shù)據(jù)。6.根據(jù)權(quán)利要求4或5所述的方法,其特征在于,還包括提取所述修改后的數(shù)據(jù),生成數(shù)據(jù)變更XML文檔;向所述服務器提交所述數(shù)據(jù)變更XML文檔,以使所述服務器更新數(shù)據(jù)集定義中描述的數(shù)據(jù)庫表。7.根據(jù)權(quán)利要求1所述的方法,其特征在于所述顯示樣式定義包括如下定義中的一項或多項表單布局定義、編輯模式定義、顯示風格定義及界面對象定義。8.—種數(shù)據(jù)展示模型建立方法,其特征在于,包括進行數(shù)據(jù)展示模型定義,包括定義數(shù)據(jù)集及顯示樣式;根據(jù)所述數(shù)據(jù)展示模型定義生成數(shù)據(jù)展示模型可擴展標記語言XML文檔;將所述數(shù)據(jù)展示模型XML文檔存儲在服務器。9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述進行數(shù)據(jù)展示模型定義還包括定義如下信息中的一項或多項檢索參數(shù)定義、數(shù)據(jù)分組條件、數(shù)據(jù)排序條件、數(shù)據(jù)過濾條件及數(shù)據(jù)提交方式。10.根據(jù)權(quán)利要求8所述的方法,其特征在于所述顯示樣式包括如下信息中的一項或多項表單布局、編輯模式、顯示風格及界面對象。11.一種數(shù)據(jù)展示裝置,其特征在于,包括第一發(fā)送單元,用于向服務器發(fā)送數(shù)據(jù)展示請求;第一接收單元,用于接收來自服務器的數(shù)據(jù)展示模型可擴展標記語言XML文檔,該數(shù)據(jù)展示模型XML文檔包括數(shù)據(jù)集定義以及顯示樣式定義;創(chuàng)建單元,用于根據(jù)所述數(shù)據(jù)展示模型XML文檔創(chuàng)建表單框架;第二發(fā)送單元,用于向所述服務器發(fā)送數(shù)據(jù)檢索請求,該請求中攜帶所述數(shù)據(jù)集定義;解析引擎單元,用于接收來自服務器的數(shù)據(jù)XML文檔,解析所述數(shù)據(jù)XML文檔獲得展示數(shù)據(jù),并將所述展示數(shù)據(jù)填充到所述表單框架中,形成表單;展示單元,用于展示所述表單。12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,還包括修改單元,用于對表單中的數(shù)據(jù)進行修改,并對修改后的數(shù)據(jù)設置修改狀態(tài)標識。13.根據(jù)權(quán)利要求11所述的裝置,其特征在于,還包括提取單元,用于提取所述修改后的數(shù)據(jù),生成數(shù)據(jù)變更XML文檔;提交單元,用于向所述服務器提交所述數(shù)據(jù)變更XML文檔,以使所述服務器更新數(shù)據(jù)集定義中描述的數(shù)據(jù)庫表。14.一種數(shù)據(jù)展示模型建立裝置,其特征在于,包括定義單元,用于進行數(shù)據(jù)展示模型定義,包括定義數(shù)據(jù)集及顯示樣式;生成單元,用于根據(jù)所述數(shù)據(jù)展示模型定義生成數(shù)據(jù)展示模型可擴展標記語言XML文檔;存儲單元,用于將所述數(shù)據(jù)展示模型XML文檔存儲在服務器。15.根據(jù)權(quán)利要求14所述的裝置,其特征在于,所述定義單元還用于定義數(shù)據(jù)展示模型中如下信息中的一項或多項檢索參數(shù)定義、數(shù)據(jù)分組條件、數(shù)據(jù)排序條件、數(shù)據(jù)過濾條件及數(shù)據(jù)提交方式。全文摘要本發(fā)明提供一種數(shù)據(jù)展示模型建立方法、數(shù)據(jù)展示方法及裝置,所述數(shù)據(jù)展示模型建立方法包括向服務器發(fā)送數(shù)據(jù)展示請求;接收來自服務器的數(shù)據(jù)展示模型可擴展標記語言XML文檔,該數(shù)據(jù)展示模型XML文檔包括數(shù)據(jù)集定義以及顯示樣式定義;根據(jù)所述數(shù)據(jù)展示模型XML文檔創(chuàng)建表單框架;向服務器發(fā)送數(shù)據(jù)檢索請求,該請求中攜帶所述數(shù)據(jù)集定義;接收來自服務器的數(shù)據(jù)XML文檔,解析所述數(shù)據(jù)XML文檔獲得展示數(shù)據(jù),將所述展示數(shù)據(jù)填充到所述表單框架中,形成表單并進行展示。文檔編號G06F17/30GK101788994SQ20091016278公開日2010年7月28日申請日期2009年8月14日優(yōu)先權(quán)日2009年8月14日發(fā)明者朱智翔,楊俊松,楊秋申請人:成都迪捷信息技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
双城市| 南丰县| 东海县| 乌鲁木齐县| 镇康县| 忻城县| 无锡市| 社会| 乌海市| 烟台市| 五大连池市| 香河县| 桐柏县| 丹东市| 武威市| 长宁区| 东明县| 微博| 淮阳县| 基隆市| 泰宁县| 长沙县| 江都市| 无锡市| 平山县| 固安县| 大丰市| 花莲市| 远安县| 宿松县| 惠安县| 常德市| 定州市| 连平县| 永川市| 冕宁县| 贡嘎县| 独山县| 西乌珠穆沁旗| 嘉定区| 台湾省|