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

適用于ajax框架的模型層與視圖層數(shù)據(jù)自動(dòng)映射方法

文檔序號:6581873閱讀:536來源:國知局
專利名稱:適用于ajax框架的模型層與視圖層數(shù)據(jù)自動(dòng)映射方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種數(shù)據(jù)自動(dòng)映射方法,尤其涉及適用于AJAX(異步JavaScript和XML)框架的模型層與視圖層數(shù)據(jù)自動(dòng)映射方法。
背景技術(shù)
WEB應(yīng)用系統(tǒng)由于其快速部署的特性目前被廣泛使用, 一般按照MVC(M0DEL層、VIEW層、CONTROLLER層)三層模型進(jìn)行系統(tǒng)開發(fā)。其中,VIEW層一般使用HTML文檔對象模型(DOM)進(jìn)行數(shù)據(jù)展現(xiàn)與處理。HTML文檔對象模型將HTML文檔定義為嵌套其他元素的樹型結(jié)構(gòu)對象。MODEL層一般使用面向?qū)ο?00)的編程語言,如JAVA、 .NET等編程語言,使用類(classes)、對象(objects)來定義后臺(tái)實(shí)體對象,進(jìn)行數(shù)據(jù)的處理和持久化。
由于MODEL層與VIEW層的設(shè)計(jì)理念、開發(fā)平臺(tái)(語言)的差異,不可避免的帶來了 VIEW層DOM對象與MODEL層實(shí)體業(yè)務(wù)對象互相轉(zhuǎn)換的問題。按照傳統(tǒng)的方式,MODEL層與VIEW層的數(shù)據(jù)交互往往需要編寫大量JS腳本和服務(wù)器端腳本,其開發(fā)效率低下,而且質(zhì)量無法保證。

發(fā)明內(nèi)容
本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷,提供一種復(fù)雜度低、通用性強(qiáng)的適用于AJAX框架的模型層與視圖層數(shù)據(jù)自動(dòng)映射方法。
本發(fā)明的目的可以通過以下技術(shù)方案來實(shí)現(xiàn) —種適用于AJAX框架的模型層與視圖層數(shù)據(jù)自動(dòng)映射方法,其特征在于,該方法所涉及的硬件包括表單數(shù)據(jù)處理器、AJAX接口調(diào)用模塊、對象實(shí)體處理器、WEB表單控件、實(shí)體對象、數(shù)據(jù)源,該方法的步驟如下
1)客戶端下載WEB表單; 2)客戶端向服務(wù)器端發(fā)出提交請求,此時(shí)表單數(shù)據(jù)處理器會(huì)自動(dòng)捕獲視圖層表單控件屬性信息和當(dāng)前值,將這些信息封裝為JSON格式; 3)表單數(shù)據(jù)處理器通過AJAX接口調(diào)用模塊向服務(wù)器提交JSON格式的表單數(shù)據(jù);
4)客戶端的AJAX接口調(diào)用模塊負(fù)責(zé)調(diào)用具體的第三方AJAX框架,將JSON格式的表單數(shù)據(jù)提交給服務(wù)器; 5)服務(wù)器端的AJAX接口調(diào)用模塊將接收到該JSON格式的表單數(shù)據(jù)交給對象實(shí)體處理器進(jìn)行解析處理; 6)對象實(shí)體處理器解析JSON格式數(shù)據(jù),根據(jù)視圖層表單對象和模型層業(yè)務(wù)對象的映射關(guān)系,查找服務(wù)器緩存區(qū)的業(yè)務(wù)實(shí)體; 7)判斷是否存在實(shí)體對象,如果存在,則通過反射機(jī)制,填充對象屬性;
8)如果不存在,則新生成一個(gè)業(yè)務(wù)對象,并將該對象放入緩存區(qū);
9)通過反射機(jī)制查找對象實(shí)體中是否有符合用戶請求的操作方法;
10)如果有,則執(zhí)行對應(yīng)的操作;
11)如果沒有,則返回錯(cuò)誤結(jié)果,操作結(jié)果(正確或錯(cuò)誤)由對象實(shí)體處理器重新封裝為JS0N格式,并通過AJAX接口調(diào)用模塊將JSON格式的處理結(jié)果返回給客戶端;
12)客戶端的AJAX接口調(diào)用模塊自動(dòng)接收到該JSON格式的服務(wù)器處理結(jié)果,并交給表單數(shù)據(jù)處理器進(jìn)行解析;
13)表單數(shù)據(jù)處理器解析操作結(jié)果; 14)通過自定義回調(diào)函數(shù),回填視圖層WEB表單相應(yīng)控件,實(shí)現(xiàn)WEB表單的更新。
所述的6)中的緩沖區(qū)由服務(wù)器啟動(dòng)時(shí)初始化或者通過惰性初始化完成所有對象實(shí)例的生成。 所述的表單數(shù)據(jù)處理器對WEB表單控件進(jìn)行擴(kuò)展,增加必要的自定義屬性,用于反映表單和業(yè)務(wù)對象之間的關(guān)聯(lián)關(guān)系。 所述的AJAX接口調(diào)用模塊隱藏于具體的第三方AJAX框架中,實(shí)現(xiàn)客戶端與服務(wù)器端之間的數(shù)據(jù)交換。 所述的對象實(shí)體處理器解析JSON格式的WEB表單數(shù)據(jù),生成MODEL層對應(yīng)的業(yè)務(wù)對象,執(zhí)行相應(yīng)的業(yè)務(wù)操作,并將操作結(jié)果以JSON格式返回給客戶端。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn) 1、降低開發(fā)復(fù)雜度,只需要進(jìn)行簡單的配置,即可完成VIEW層WEB表單數(shù)據(jù)與MODEL層業(yè)務(wù)對象的自動(dòng)映射,實(shí)現(xiàn)了 WEB表單數(shù)據(jù)與后臺(tái)業(yè)務(wù)對象的自動(dòng)綁定與處理。使得開發(fā)工作集中在關(guān)鍵的業(yè)務(wù)邏輯處理上,提高了軟件開發(fā)效率。 2、具有通用性,適用于多種第三方AJAX框架,可以根據(jù)不同需求,選擇適當(dāng)?shù)腁JAX框架進(jìn)行開發(fā)。


圖1是本發(fā)明一種適用于AJAX框架的模型層與視圖層數(shù)據(jù)自動(dòng)映射方法的結(jié)構(gòu)示意圖; 圖2是本發(fā)明一種適用于AJAX框架的模型層與視圖層數(shù)據(jù)自動(dòng)映射方法的工作流程圖。
具體實(shí)施例方式
以下結(jié)合具體實(shí)施例對本發(fā)明做進(jìn)一步說明。
實(shí)施例 如圖1、圖2所示,一種適用于AJAX框架的模型層與視圖層數(shù)據(jù)自動(dòng)映射方法,該方法硬件包括表單數(shù)據(jù)處理器、AJAX接口調(diào)用模塊、對象實(shí)體處理器、WEB表單控件、實(shí)體對象、數(shù)據(jù)源,該方法的工作流程如下
第1步,客戶端下載WEB表單; 第2步,客戶端向服務(wù)器端發(fā)出提交請求,此時(shí)表單數(shù)據(jù)處理器會(huì)自動(dòng)捕獲視圖層表單控件屬性信息和當(dāng)前值,將這些信息封裝為JSON格式; 第3步,表單數(shù)據(jù)處理器通過AJAX接口調(diào)用模塊向服務(wù)器提交JSON格式的表單數(shù)據(jù); 第4步,客戶端的AJAX接口調(diào)用模塊負(fù)責(zé)調(diào)用具體的第三方AJAX框架,將JSON格式的表單數(shù)據(jù)提交給服務(wù)器; 第5步,服務(wù)器端的AJAX接口調(diào)用模塊將接收到該JSON格式的表單數(shù)據(jù)交給對 象實(shí)體處理器進(jìn)行解析處理; 第6步,對象實(shí)體處理器解析JSON格式數(shù)據(jù),根據(jù)視圖層表單對象和模型層業(yè)務(wù) 對象的映射關(guān)系,查找服務(wù)器緩存區(qū)的業(yè)務(wù)實(shí)體; 第7步,判斷是否存在實(shí)體對象,如果存在,則通過反射機(jī)制,填充對象屬性;
第8步,如果不存在,則新生成一個(gè)業(yè)務(wù)對象,并將該對象放入緩存區(qū);
第9步,通過反射機(jī)制查找對象實(shí)體中是否有符合用戶請求的操作方法;
第10步,如果有,則執(zhí)行對應(yīng)的操作; 第11步,如果沒有,則返回錯(cuò)誤結(jié)果,操作結(jié)果(正確或錯(cuò)誤)由對象實(shí)體處理器 重新封裝為JSON格式,并通過AJAX接口調(diào)用模塊將JSON格式的處理結(jié)果返回給客戶端;
第12步,客戶端的AJAX接口調(diào)用模塊自動(dòng)接收到該JSON格式的服務(wù)器處理結(jié) 果,并交給表單數(shù)據(jù)處理器進(jìn)行解析;
第13步,表單數(shù)據(jù)處理器解析操作結(jié)果; 第14步,通過自定義回調(diào)函數(shù),回填視圖層WEB表單相應(yīng)控件,實(shí)現(xiàn)WEB表單的更新。 所述的6)中的緩沖區(qū)由服務(wù)器啟動(dòng)時(shí)初始化或者通過惰性初始化完成所有對象 實(shí)例的生成。所述的表單數(shù)據(jù)處理器對WEB表單控件進(jìn)行擴(kuò)展,增加必要的自定義屬性,用 于反映表單和業(yè)務(wù)對象之間的關(guān)聯(lián)關(guān)系。所述的AJAX接口調(diào)用模塊隱藏于具體的第三方 AJAX框架中,實(shí)現(xiàn)客戶端與服務(wù)器端之間的數(shù)據(jù)交換。所述的對象實(shí)體處理器解析JSON格 式的WEB表單數(shù)據(jù),生成MODEL層對應(yīng)的業(yè)務(wù)對象,執(zhí)行相應(yīng)的業(yè)務(wù)操作,并將操作結(jié)果以 JSON格式返回給客戶端。
實(shí)施例2 該方法已經(jīng)被應(yīng)用于中國鋁業(yè)廣西分公司運(yùn)輸生產(chǎn)調(diào)度系統(tǒng)中,該系統(tǒng)主要功能 包括跟蹤機(jī)車的行走過程,對運(yùn)輸過程中留下的運(yùn)輸數(shù)據(jù)和機(jī)車車輛行走痕跡進(jìn)行實(shí)時(shí)動(dòng) 態(tài)跟蹤和處理等。 該運(yùn)輸生產(chǎn)調(diào)度系統(tǒng)是基于JAVA開發(fā)的,采用DWR框架完成客戶端與服務(wù)器端的 數(shù)據(jù)傳輸。 該系統(tǒng)為每個(gè)WEB表單控件擴(kuò)展了三個(gè)自定義屬性分組信息(關(guān)聯(lián)對象名稱),
關(guān)聯(lián)字段,類型(用于有效性驗(yàn)證)。表單控件包括文本框、下拉菜單、日期或其他任何面向
對象的表單控件。 以下是具體的實(shí)現(xiàn)方式 1、數(shù)據(jù)表單智能綁定 自定義了三個(gè)Html組件屬性,有對象ID (group屬性),字段屬性(f ield屬性),數(shù) 據(jù)類型(ftype屬性);Html的各種表單控件,包括列表框、文本框和其他自定義輸入框等, 都加入了該Html組件屬性。
2 、 JSON數(shù)據(jù)對象格式 定義有class、 method、 f ields、 param禾口 results子對象,分別表示對象類名、操 作方法、表單數(shù)據(jù)(屬性和值的鍵值對集合)、自定義參數(shù)和返回結(jié)果(此結(jié)果也是JSON格式)信息。 3、AJAX接口調(diào)用模塊 承擔(dān)數(shù)據(jù)傳輸橋梁的角色。在本系統(tǒng)中,此模塊通過調(diào)用DWR框架,實(shí)現(xiàn)VIEW層 與MODEL層之間JS0N格式數(shù)據(jù)的傳輸。
4、對象實(shí)體處理器 首先,根據(jù)JS0N數(shù)據(jù)的class子對象生成一個(gè)MODEL層的業(yè)務(wù)對象實(shí)例,同時(shí)將 fields子對象中的屬性值設(shè)置到該業(yè)務(wù)對象實(shí)例中,并調(diào)用該業(yè)務(wù)對象實(shí)例的method方 法。 然后,將method方法的返回值轉(zhuǎn)化成JSON格式,存儲(chǔ)到results子對象中,并返 回給客戶端。 從系統(tǒng)的開發(fā)進(jìn)度來看,使用該方法后,編程復(fù)雜度降低了很多,開發(fā)效率有很大 提高。
權(quán)利要求
一種適用于AJAX框架的模型層與視圖層數(shù)據(jù)自動(dòng)映射方法,其特征在于,該方法所涉及的硬件包括表單數(shù)據(jù)處理器、AJAX接口調(diào)用模塊、對象實(shí)體處理器、WEB表單控件、實(shí)體對象、數(shù)據(jù)源,該方法的步驟如下1)客戶端下載WEB表單;2)客戶端向服務(wù)器端發(fā)出提交請求,此時(shí)表單數(shù)據(jù)處理器會(huì)自動(dòng)捕獲視圖層表單控件屬性信息和當(dāng)前值,將這些信息封裝為JSON格式;3)表單數(shù)據(jù)處理器通過AJAX接口調(diào)用模塊向服務(wù)器提交JSON格式的表單數(shù)據(jù);4)客戶端的AJAX接口調(diào)用模塊負(fù)責(zé)調(diào)用具體的第三方AJAX框架,將JSON格式的表單數(shù)據(jù)提交給服務(wù)器;5)服務(wù)器端的AJAX接口調(diào)用模塊將接收到該JSON格式的表單數(shù)據(jù)交給對象實(shí)體處理器進(jìn)行解析處理;6)對象實(shí)體處理器解析JSON格式數(shù)據(jù),根據(jù)視圖層表單對象和模型層業(yè)務(wù)對象的映射關(guān)系,查找服務(wù)器緩存區(qū)的業(yè)務(wù)實(shí)體;7)判斷是否存在實(shí)體對象,如果存在,則通過反射機(jī)制,填充對象屬性;8)如果不存在,則新生成一個(gè)業(yè)務(wù)對象,并將該對象放入緩存區(qū);9)通過反射機(jī)制查找對象實(shí)體中是否有符合用戶請求的操作方法;10)如果有,則執(zhí)行對應(yīng)的操作;11)如果沒有,則返回錯(cuò)誤結(jié)果,操作結(jié)果(正確或錯(cuò)誤)由對象實(shí)體處理器重新封裝為JSON格式,并通過AJAX接口調(diào)用模塊將JSON格式的處理結(jié)果返回給客戶端;12)客戶端的AJAX接口調(diào)用模塊自動(dòng)接收到該JSON格式的服務(wù)器處理結(jié)果,并交給表單數(shù)據(jù)處理器進(jìn)行解析;13)表單數(shù)據(jù)處理器解析操作結(jié)果;14)通過自定義回調(diào)函數(shù),回填視圖層WEB表單相應(yīng)控件,實(shí)現(xiàn)WEB表單的更新。
2. 根據(jù)權(quán)利要求1所述的適用于AJAX框架的模型層與視圖層數(shù)據(jù)自動(dòng)映射方法,其特 征在于,所述的步驟6)中的緩沖區(qū)由服務(wù)器啟動(dòng)時(shí)初始化或者通過惰性初始化完成所有 對象實(shí)例的生成。
3. 根據(jù)權(quán)利要求1所述的適用于AJAX框架的模型層與視圖層數(shù)據(jù)自動(dòng)映射方法,其特 征在于,所述的表單數(shù)據(jù)處理器對WEB表單控件進(jìn)行擴(kuò)展,增加必要的自定義屬性,用于反 映表單和業(yè)務(wù)對象之間的關(guān)聯(lián)關(guān)系。
4. 根據(jù)權(quán)利要求1所述的適用于AJAX框架的模型層與視圖層數(shù)據(jù)自動(dòng)映射方法,其特 征在于,所述的AJAX接口調(diào)用模塊隱藏于具體的第三方AJAX框架中,實(shí)現(xiàn)客戶端與服務(wù)器 端之間的數(shù)據(jù)交換。
5. 根據(jù)權(quán)利要求1所述的適用于AJAX框架的模型層與視圖層數(shù)據(jù)自動(dòng)映射方法,其特 征在于,所述的對象實(shí)體處理器解析JS0N格式的WEB表單數(shù)據(jù),生成MODEL層對應(yīng)的業(yè)務(wù) 對象,執(zhí)行相應(yīng)的業(yè)務(wù)操作,并將操作結(jié)果以JS0N格式返回給客戶端。
全文摘要
本發(fā)明涉及一種適用于AJAX框架的模型層與視圖層數(shù)據(jù)自動(dòng)映射方法,該方法所涉及的硬件包括表單數(shù)據(jù)處理器、AJAX接口調(diào)用模塊、對象實(shí)體處理器、WEB表單控件、實(shí)體對象、數(shù)據(jù)源,該方法的步驟包括1)客戶端下載WEB表單等。與現(xiàn)有技術(shù)相比,本發(fā)明具有復(fù)雜度低、通用性強(qiáng)等優(yōu)點(diǎn)。
文檔編號G06F9/44GK101694618SQ20091019497
公開日2010年4月14日 申請日期2009年9月1日 優(yōu)先權(quán)日2009年9月1日
發(fā)明者周庭梁, 張兵建, 張立鵬 申請人:卡斯柯信號有限公司;
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
荔波县| 武邑县| 白银市| 德州市| 扎鲁特旗| 盐津县| 高淳县| 鄄城县| 营山县| 新闻| 广州市| 烟台市| 深泽县| 化州市| 白水县| 重庆市| 南城县| 新晃| 和平县| 雅安市| 嘉义市| 磴口县| 南靖县| 南宁市| 泰顺县| 晋江市| 永春县| 于田县| 呈贡县| 招远市| 秦皇岛市| 巴楚县| 奉贤区| 上思县| 锡林浩特市| 五常市| 邳州市| 紫金县| 苏尼特右旗| 娱乐| 获嘉县|