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

一種生成表單界面的方法及裝置制造方法

文檔序號:6635264閱讀:262來源:國知局
一種生成表單界面的方法及裝置制造方法
【專利摘要】本發(fā)明提供一種生成表單界面的方法及裝置,屬于計算機軟件【技術領域】,其方法包括:接收表單訪問請求,解析表單中所含widget控件,將widget控件映射為webui對象,填充數(shù)據(jù)返回表單界面信息顯示;其裝置包括:一個或多個客戶端、一個用于生成表單的Web服務器和一個數(shù)據(jù)庫組成的B/S架構程序,所述Web服務器包括一表單解析模塊、一控件組裝模塊、一數(shù)據(jù)填充模塊,其表單解析模塊包括一個描述所要訪問表單界面數(shù)據(jù)的xml描述文件,且xml描述文件使用dtd文件定義,widget代碼使用JAXB框架通過dtd文件生成。采用本發(fā)明的方法及裝置,實現(xiàn)了表單界面的自動解析生成,提高軟件開發(fā)效率,并且能夠統(tǒng)一開發(fā)環(huán)境,對于不同瀏覽器的兼容性也不需要程序員操心,降低軟件維護成本。
【專利說明】一種生成表單界面的方法及裝置

【技術領域】
[0001]本發(fā)明涉及一種計算機軟件技術,具體地說是一種生成表單界面的方法及裝置。

【背景技術】
[0002]隨著計算機軟件技術的發(fā)展,軟件系統(tǒng)需要支持更多的客戶端。軟件除了在傳統(tǒng)IE瀏覽器運行外,也開始在chrome,safari等瀏覽器運行訪問,甚至在移動終端中應用。因此在實現(xiàn)軟件系統(tǒng)時,不但要考慮體系架構,還要考慮各終端的兼容性。
[0003]編寫web應用程序是一個單調(diào)乏味且易于出錯的過程。在現(xiàn)有技術中,開發(fā)人員需要同時關注前后端代碼,可能要花費90%的時間來處理瀏覽器兼容性。此外,構建、重復使用以及維護大量JavaScript代碼庫和AJAX組件可能困難且不可靠。


【發(fā)明內(nèi)容】

[0004]本發(fā)明的技術任務是針對現(xiàn)有技術的不足,提供一種旨在提高軟件開發(fā)的效率,實現(xiàn)完善的方案兼顧復用性和擴展性的生成表單界面的方法及裝置。
[0005]本發(fā)明解決其技術問題所采用的技術方案是:
本發(fā)明提供一種生成表單界面的方法,其包括如下步驟:
1)接收表單訪問請求
客戶端用戶經(jīng)Internet向瀏覽器發(fā)起訪問請求,瀏覽器在加載Web服務器上的網(wǎng)頁信息時,會從該網(wǎng)頁的html代碼中檢測到widget標簽,將widget標簽中包括的url地址交給相應的Web服務器,解析出用戶所要訪問表單名;
2)解析表單中所含widget控件
Web服務器調(diào)用表單解析模塊,解析所需要訪問表單界面的xml描述文件,其中xml描述文件使用dtd文件定義;首先,使用JAXB框架通過dtd文件生成widget代碼,然后Web服務器分析該widget代碼,生成Java對象樹,檢測Java對象樹中所含的widget控件,引入對應的web Ui組件腳本,最后將Java對象樹信息傳遞給控件組裝模塊;
3)將widget控件映射為webui對象
控件組裝模塊開始解析對象樹;首先,通過查找映射關系,將widget控件轉換成對應web ui對象,然后調(diào)用組裝方法,將生成的web ui對象組裝成html腳本;
4)填充數(shù)據(jù)返回表單界面信息顯示
數(shù)據(jù)填充模塊查詢數(shù)據(jù)庫中業(yè)務數(shù)據(jù),并操作更新web ui對象值,最后將所有web ui對象生成html腳本更新到用戶訪問的表單界面。
[0006]具體的,如果用戶訪問的表單界面已生成,再次訪問則直接從數(shù)據(jù)緩存模塊中獲取。
[0007]本發(fā)明還提供一種生成表單界面的裝置,包括一個或多個客戶端,一個用于生成表單的Web服務器和一個數(shù)據(jù)庫組成的B/S架構程序,其中,用于生成表單的Web服務器包括: 一個表單解析模塊,用于將所要訪問的xml文件解析為生成表單用系統(tǒng)所定義的widget控件、引入對應的web ui組件腳本并將widget控件、web ui組件腳本傳遞給控件組裝模塊;其包括一個描述所要訪問表單界面數(shù)據(jù)的xml描述文件,其中xml描述文件使用dtd文件定義,widget代碼使用JAXB框架通過dtd文件生成;
一個控件組裝模塊,用于檢測widget控件,映射為對應的web ui對象、并將生成的webui對象組裝成html腳本;
一個數(shù)據(jù)填充模塊,用于讀取數(shù)據(jù)庫中的業(yè)務數(shù)據(jù),更新web ui對象值,生成html腳本返回用戶訪問的表單界面。
[0008]具體的,上述生成表單界面的裝置,還包括:
一個數(shù)據(jù)緩存模塊,用于將解析完的表單界面進行緩存,優(yōu)化訪問效率。
[0009]一個控件擴展模塊,用于根據(jù)定義好的控件擴展接口,實現(xiàn)自定義控件。
[0010]本發(fā)明的一種生成表單界面的方法及裝置與現(xiàn)有技術相比,所產(chǎn)生的有益效果是:
采用本發(fā)明的方法及裝置,實現(xiàn)了表單界面的自動解析生成,提高軟件開發(fā)效率,并且能夠統(tǒng)一開發(fā)環(huán)境,對于不同瀏覽器的兼容性也不需要程序員操心,降低軟件維護成本。

【專利附圖】

【附圖說明】
[0011]圖1是本發(fā)明生成表單界面方法的流程原理圖。
[0012]圖2是本發(fā)明生成表單界面方法的另一個流程原理圖。
[0013]圖3是本發(fā)明生成表單界面裝置的結構框圖。

【具體實施方式】
[0014]下面結合附圖1-3對本發(fā)明的一種生成表單界面的方法及裝置作以下詳細地說明。
[0015]為了使本發(fā)明的構造以及特點能夠更好地被理解,以下將列舉較佳實例并結合附圖進行詳細說明。
[0016]實施例1
如附圖1所示,本發(fā)明提供一種生成表單界面的方法,其包括如下步驟:
1)接收表單訪問請求
客戶端用戶經(jīng)Internet向瀏覽器發(fā)起訪問請求,瀏覽器在加載Web服務器上的網(wǎng)頁信息時,會從該網(wǎng)頁的html代碼中檢測到widget標簽,將widget標簽中包括的url地址交給相應的servlet處理器,瀏覽器調(diào)用widget瀏覽器插件,解析出用戶所要訪問表單名;
2)解析表單中所含widget控件
servlet處理器調(diào)用表單解析模塊,解析所需要訪問表單界面的xml描述文件,其中xml描述文件使用dtd文件定義。首先,使用JAXB框架通過dtd文件生成widget代碼,提供給widget瀏覽器插件;然后servlet處理器分析該widget代碼,生成Java對象樹,檢測Java對象樹中所含的widget控件,引入對應的web ui組件腳本;最后將Java對象樹信息傳遞給控件組裝模塊;
3)將widget控件映射為webui對象控件組裝模塊開始解析對象樹。首先,FormMapper會查找映射關系,將widget控件轉換成對應web ui對象,然后調(diào)用組裝方法,將生成的web ui對象組裝成html腳本;
4)填充數(shù)據(jù)返回表單界面信息顯示
數(shù)據(jù)填充模塊查詢數(shù)據(jù)庫中業(yè)務數(shù)據(jù),并操作更新web ui對象值,添加到html onload事件中,最后將所有web ui對象生成html腳本更新到用戶訪問的表單界面。
[0017]如果用戶訪問的表單界面已生成,再次訪問則直接從數(shù)據(jù)緩存模塊中獲取。
[0018]如附圖2所示,本發(fā)明提供一種生成表單界面的方法,其另一流程原理圖如下:
5201、接收表單訪問請求
系統(tǒng)接收用戶訪問請求,servlet處理器解析url地址;
5202、判斷表單是否已緩存
根據(jù)url解析結果,調(diào)用數(shù)據(jù)緩存模塊讀取表單,如果已存在表單,則跳過表單解析過程,直接進入業(yè)務填充模塊更新表單界面信息顯示;否則,進入表單解析模塊;
5203、解析后臺創(chuàng)建的widget控件
調(diào)用所有已實現(xiàn)表單創(chuàng)建接口的插件,解析其中包含的widget控件;
5204、判斷是否含有擴展控件
判斷解析出的控件集,如果含有擴展控件,則進行自定義擴展控件的動態(tài)注冊和加載,否則直接生成web ui界面腳本;
5205、生成webui界面腳本
調(diào)用FormMapper映射方法,將控件解析為web ui界面html腳本;
5206、填充數(shù)據(jù)返回表單界面信息顯示
數(shù)據(jù)填充模塊查詢數(shù)據(jù)庫中業(yè)務數(shù)據(jù),并生成操作更新web ui對象值的javascript腳本,添加到html onload事件中,最后將所有生成的web ui對象更新到用戶訪問的表單界面。
[0019]實施例2
如附圖3所示,本發(fā)明還提供一種生成表單界面的裝置,包括一個或多個客戶端,一個用于生成表單的Web服務器和一個數(shù)據(jù)庫組成的B/S架構程序,其中,用于生成表單的Web服務器包括:
一個表單解析模塊,用于將所要訪問的xml文件解析為生成表單用系統(tǒng)所定義的widget控件、引入對應的web ui組件腳本并將widget控件、web ui組件腳本傳遞給控件組裝模塊;其包括一個描述所要訪問表單界面數(shù)據(jù)的xml描述文件,其中xml描述文件使用dtd文件定義,widget代碼使用JAXB框架通過dtd文件生成;
一個控件組裝模塊,用于檢測widget控件,映射為對應的web ui對象、并將生成的webui對象組裝成html腳本;
一個數(shù)據(jù)填充模塊,用于讀取數(shù)據(jù)庫中的業(yè)務數(shù)據(jù),更新web ui對象值,生成html腳本返回表單界面。并操作更新web ui對象值。
[0020]其中dtd文件描述如下:
<?xml vers1n=〃L 0〃 encoding=〃UTF_8〃?>
<!ELEMENT Forms ((js|form|plugin|valueFetcher)*)>
<!ELEMENT form (import*,value*,info*,toolbar?,widgets?,extendPoint?, bind*)>
<!ELEMENT toolbar (button*)〉
<!ELEMENT button (item*, basic?)>
<!ELEMENT item EMPTY〉
<!ELEMENT widgets ((basic|datagrid|layout)*)>
<!ELEMENT layout ((basic|datagrid|layout)*)>
<!ELEMENT basic (value*, valueFetcher?, col*)>
<!ELEMENT valueFetcher (plugin*, value*)>
<!ELEMENT datagrid (valueFetcher?, col+, evnt*)>
<!ELEMENT col (valueFetcher?, col*)>
<!ELEMENT evnt (#PCDATA)>
<!ELEMENT extendPoint (plugin*)〉
<!ELEMENT plugin (plugin*, value*)>
<!ELEMENT value (#PCDATA)>
<!ELEMENT import EMPTY〉
<!ELEMENT info EMPTY〉
<!ELEMENT js (#PCDATA)>
<!ELEMENT bind (#PCDATA)>
<!ATTLIST form
id CDATA ?REQUIRED
formType CDATA ?IMPLIED
attr CDATA ?IMPLIED
busCode CDATA ?IMPLIED
extend CDATA ?IMPLIED
implement CDATA ?IMPLIED
override (true | false) 〃false〃
canvasClass CDATA ?IMPLIED
bodyClass CDATA ?IMPLIED
backgroundColor CDATA #IMPLIED
valign CDATA ?IMPLIED
js CDATA ?IMPLIED
desp CDATA ?IMPLIED
states CDATA ?IMPLIED
vers1n CDATA ?IMPLIED
width CDATA ?IMPLIED
height CDATA ?IMPLIED
abstract (true | false) 〃false〃
>
<!ATTLIST import
class CDATA ?IMPLIED
file CDATA ?IMPLIED
language (javascript | vbscript | css) "javascript"
>
<!ATTLIST info
var CDATA ?IMPLIED
default CDATA ?IMPLIED
>
<!ATTLIST widgets〉
<!ATTLIST toolbar
template CDATA #IMPLIED
buttons CDATA #IMPLIED
ban CDATA ?IMPLIED
attr CDATA ?IMPLIED
ishide (true | false) "false"
>
<!ATTLIST button
id CDATA ?IMPLIED
text CDATA ?IMPLIED
img CDATA ?IMPLIED
rightlmg CDATA #IMPLIED
heigth CDATA ?IMPLIED
width CDATA ?IMPLIED
hint CDATA ?IMPLIED
IinkToState CDATA #IMPLIED
gotoState CDATA #IMPLIED
onclick CDATA ?IMPLIED
attr CDATA ?IMPLIED
itemextway ( before | after | override ) "after"
>
<!ATTLIST item
id CDATA ?IMPLIED
text CDATA ?REQUIRED
img CDATA ?IMPLIED
IinkToState CDATA #IMPLIED
gotoState CDATA #IMPLIED
onclick CDATA ?IMPLIED
attr CDATA ?IMPLIED
><!ATTLIST layout
type CDATA ?REQUIRED
name CDATA ?IMPLIED
layout CDATA ?IMPLIED
IeftSpace CDATA ?IMPLIED
topSpace CDATA IMPLIED
rightSpace CDATA #IMPLIED
bottomSpace CDATA #IMPLIED
IinkToState CDATA ?IMPLIED
align (left | right | center) "left"
width CDATA ?IMPLIED
height CDATA #IMPLIED
isHidden (true | false) "false"
ignore (true | false) "false"
attr CDATA ?IMPLIED
desp CDATA ?IMPLIED
backgroundColor CDATA #IMPLIED
backgroundlmg CDATA #IMPLIED
scrollx (true | false) "false"
scrolly (true | false) "false"
coIspan CDATA ?IMPLIED
rowspan CDATA #IMPLIED
itemextway ( before | after | override ) "after"
>
<!ATTLIST basic
name CDATA ?REQUIRED
label CDATA ?IMPLIED
labelffidth CDATA ?IMPLIED
layout CDATA IMPLIED
widget CDATA ?IMPLIED
default CDATA ?IMPLIED
IinkToState CDATA ?IMPLIED
attr CDATA ?IMPLIED
referffidgets CDATA #IMPLIED
IeftSpace CDATA #IMPLIED
topSpace CDATA ?IMPLIED
rightSpace CDATA #IMPLIED
bottomSpace CDATA #IMPLIED
width CDATA ?IMPLIED
height CDATA ?IMPLIED
hint CDATA ?IMPLIED
readonly CDATA ?IMPLIED
disabled (true | false) "false"
maxlength CDATA ?IMPLIED
inline (first | last | single | middle | inner) "middle"
ishide (true | false) "false"
ignore (true | false) "false"
require (true | false) "false"
align (left | right) "left"
onblur CDATA ?IMPLIED
onfocus CDATA ?IMPLIED
onchange CDATA ?IMPLIED
onclick CDATA ?IMPLIED
ondbclick CDATA ?IMPLIED
onkeydown CDATA #IMPLIED
onkeyup CDATA #IMPLIED
checkattr CDATA ?IMPLIED
checks CDATA ?IMPLIED
canBeReset (true | false) "true"
autoSubmit (true | false) "true"
extendcol (true | false) "true"
itemextway ( before | after) "after"
backgroundColor CDATA #IMPLIED
backgroundlmg CDATA #IMPLIED
coIspan CDATA ?IMPLIED
rowspan CDATA #IMPLIED
>
<!ATTLIST valueFetcher
id CDATA ?IMPLIED
ctg CDATA ?IMPLIED
type CDATA ?IMPLIED
>
<!ATTLIST datagrid
name CDATA ?REQUIRED
label CDATA ?IMPLIED
IinkToState CDATA ?IMPLIED
layout CDATA ?IMPLIED
hasPage (true | false) "false"
canBeReset (true | false) "false"
pageAct1n CDATA #IMPLIED
pagebar CDATA #IMPLIED
pageHj (true | false) "true"
template CDATA #IMPLIED
IeftSpace CDATA #IMPLIED
topSpace CDATA #IMPLIED
rightSpace CDATA #IMPLIED
bottomSpace CDATA #IMPLIED
width CDATA ?IMPLIED
height CDATA ?IMPLIED
attr CDATA ?IMPLIED
>
<!ATTLIST col
id CDATA ?REQUIRED
label CDATA ?REQUIRED
cacu CDATA ?IMPLIED
hidden (true | false) "false"
formula CDATA #IMPLIED
pageCacuExp CDATA #IMPLIED
default CDATA #IMPLIED
img CDATA ?IMPLIED
attr CDATA #IMPLIED
referWidgets CDATA #IMPLIED
width CDATA ?IMPLIED
minWidth CDATA #IMPLIED
require (true | false) "false"
sort CDATA ?IMPLIED
filter CDATA ?IMPLIED
align CDATA ?IMPLIED
href CDATA ?IMPLIED
color CDATA ?IMPLIED
maxlength CDATA #IMPLIED
editType (text | textarea | num | check | rad1 | select | multiSelectI date I refer | editRefer | txt | ed | co | coro | ch | ro | edn | nro | dyco)〃txt〃
dType (str | num) ,,str,,
inputFormator CDATA #IMPLIED
checkattr CDATA #IMPLIED
checks CDATA ?IMPLIED
style CDATA ?IMPLIED
headAlign CDATA ?IMPLIED
renderer CDATA ?IMPLIED
title CDATA ?IMPLIED
resizable (true | false) "true"
lock (true [ false) "false"
ignore (true | false) "false"
sum (true | false) "false"
prec CDATA ?IMPLIED
disabled (true | false) "false"
>
<!ATTLIST evnt
type CDATA ?REQUIRED
>
<!ATTLIST js
funct1nname CDATA #REQUIRED
desp CDATA ?IMPLIED
>
<!ATTLIST extendPoint
type CDATA ?IMPLIED
addglobe (true | false) "true"
>
<!ATTLIST plugin
type CDATA ?IMPLIED
attr CDATA ?IMPLIED
desp CDATA ?IMPLIED
idx CDATA ?IMPLIED
onEvent CDATA ?IMPLIED
id CDATA ?IMPLIED
parent CDATA ?IMPLIED
>
<!ATTLIST value
name CDATA ?REQUIRED
>
<!ATTLIST bind
element CDATA ?REQUIRED
event CDATA ?REQUIRED
param CDATA #IMPLIED
extendway ( before | after | override | all) 〃all〃
>
根據(jù)需要,上述生成表單界面的裝置,還可以包括一個數(shù)據(jù)緩存模塊(用于將解析完的表單界面進行緩存,優(yōu)化訪問效率)和/或一個控件擴展模塊(用于根據(jù)定義好的控件擴展接口,實現(xiàn)自定義控件)。
[0021]以上對本發(fā)明的描述是說明性的,而非限制性的,本專業(yè)技術人員理解,在權利要求限定的精神與范圍之內(nèi)可對其進行許多修改、變化或等效,但是它們都將落入本發(fā)明的保護范圍內(nèi)。
【權利要求】
1.一種生成表單界面的方法,其特征在于,包括如下步驟: 1)接收表單訪問請求 客戶端用戶經(jīng)Internet向瀏覽器發(fā)起訪問請求,瀏覽器在加載Web服務器上的網(wǎng)頁信息時,會從該網(wǎng)頁的html代碼中檢測到widget標簽,將widget標簽中包括的url地址交給相應的Web服務器,解析出用戶所要訪問表單名; 2)解析表單中所含widget控件 Web服務器調(diào)用表單解析模塊,解析所需要訪問表單界面的xml描述文件,其中xml描述文件使用dtd文件定義;首先,使用JAXB框架通過dtd文件生成widget代碼,然后Web服務器分析該widget代碼,生成Java對象樹,檢測Java對象樹中所含的widget控件,引入對應的web Ui組件腳本,最后將Java對象樹信息傳遞給控件組裝模塊; 3)將widget控件映射為webui對象 控件組裝模塊開始解析對象樹;首先,通過查找映射關系,將widget控件轉換成對應web ui對象,然后調(diào)用組裝方法,將生成的web ui對象組裝成html腳本; 4)填充數(shù)據(jù)返回表單界面信息顯示 數(shù)據(jù)填充模塊查詢數(shù)據(jù)庫中業(yè)務數(shù)據(jù),并操作更新web ui對象值,最后將所有web ui對象生成html腳本更新到用戶訪問的表單界面。
2.根據(jù)權利要求1所述的生成表單界面方法,其特征在于,如果用戶訪問的表單界面已生成,再次訪問則直接從數(shù)據(jù)緩存模塊從獲取。
3.—種生成表單界面的裝置,包括一個或多個客戶端,一個用于生成表單的Web服務器和一個數(shù)據(jù)庫組成的B/S架構程序,其特征在于,所述用于生成表單的Web服務器包括: 一個表單解析模塊,用于將所要訪問的xml文件解析為生成表單用系統(tǒng)所定義的widget控件、引入對應的web ui組件腳本并將widget控件、web ui組件腳本傳遞給控件組裝模塊;其包括一個描述所要訪問表單界面數(shù)據(jù)的xml描述文件,其中xml描述文件使用dtd文件定義,widget代碼使用JAXB框架通過dtd文件生成; 一個控件組裝模塊,用于檢測widget控件,映射為對應的web ui對象、并將生成的webui對象組裝成html腳本; 一個數(shù)據(jù)填充模塊,用于讀取數(shù)據(jù)庫中的業(yè)務數(shù)據(jù),更新web ui對象值,生成html腳本返回用戶訪問的表單界面。
4.根據(jù)權利要求3所述的生成表單界面的裝置,其特征在于,還包括一個數(shù)據(jù)緩存模塊,用于將解析完的表單界面進行緩存,優(yōu)化訪問效率。
5.根據(jù)權利要求3或4所述的生成表單界面的裝置,其特征在于,還包括一個控件擴展模塊,用于根據(jù)定義好的控件擴展接口,實現(xiàn)自定義控件。
【文檔編號】G06F9/44GK104461513SQ201410673546
【公開日】2015年3月25日 申請日期:2014年11月21日 優(yōu)先權日:2014年11月21日
【發(fā)明者】馬海, 陳榮興, 丁雪蓮, 趙建明, 吳童 申請人:山東航天信息有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
璧山县| 吉林市| 长寿区| 广平县| 乐都县| 六安市| 天等县| 织金县| 渑池县| 马龙县| 大足县| 岚皋县| 和顺县| 横山县| 水富县| 揭东县| 乌海市| 福建省| 文山县| 麦盖提县| 罗江县| 扬州市| 馆陶县| 故城县| 垣曲县| 淮安市| 新巴尔虎右旗| 乌兰浩特市| 台中县| 沽源县| 新竹市| 晋州市| 迁西县| 昌图县| 孟州市| 张家口市| 曲靖市| 石狮市| 阿合奇县| 宁都县| 通城县|