亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

動態(tài)表單的高級控件實現(xiàn)方法、裝置及系統(tǒng)與流程

文檔序號:12664306閱讀:492來源:國知局
動態(tài)表單的高級控件實現(xiàn)方法、裝置及系統(tǒng)與流程

本發(fā)明涉及表單生成的技術(shù)領(lǐng)域,尤其涉及一種動態(tài)表單的高級控件實現(xiàn)方法、裝置及系統(tǒng)。



背景技術(shù):

由于html標(biāo)準(zhǔn)本身的約束,比如對于輸入長度的約束,或是輸入類型的約束(包括數(shù)據(jù)約束、字母約束、漢字約束等),導(dǎo)致傳統(tǒng)表單只能實現(xiàn)簡單的輸入約束和使用用途,而對于動態(tài)表單上用戶的靈活需求,不能得到滿足。



技術(shù)實現(xiàn)要素:

本發(fā)明的目的是提供一種動態(tài)表單的高級控件實現(xiàn)方法、裝置及系統(tǒng),旨在解決傳統(tǒng)表單受html標(biāo)準(zhǔn)拘束、無法滿足用戶需求的問題。

本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:

一種動態(tài)表單的高級控件實現(xiàn)方法,包括:

腳本存儲步驟:

設(shè)置腳本存儲的數(shù)據(jù)結(jié)構(gòu);數(shù)據(jù)結(jié)構(gòu)中的字段包括腳本類型;

接收用戶輸入到動態(tài)表單的腳本,作為輸入腳本;

根據(jù)所述腳本類型,調(diào)用與所述腳本類型相應(yīng)的執(zhí)行器執(zhí)行所述輸入腳本,對所述輸入腳本的合法性進(jìn)行校驗,獲取校驗結(jié)果;所述校驗結(jié)果包括合法和不合法;

當(dāng)所述校驗結(jié)果為合法時,將所述輸入腳本保存為合法腳本;

腳本執(zhí)行步驟:

編寫html,實現(xiàn)input控件;

根據(jù)所述input控件實現(xiàn)ajax,獲取腳本執(zhí)行請求;

調(diào)用服務(wù)器端對所述腳本執(zhí)行請求是否配置動態(tài)腳本進(jìn)行判斷,獲取判斷結(jié)果;所述判斷結(jié)果包括已配置和未配置;

當(dāng)所述判斷結(jié)果為已配置時,根據(jù)所述腳本類型,調(diào)用與所述腳本類型相應(yīng)的執(zhí)行器執(zhí)行所述合法腳本,獲取腳本執(zhí)行結(jié)果;所述腳本執(zhí)行結(jié)果包括返回結(jié)構(gòu);

根據(jù)所述返回結(jié)構(gòu),通過javascript調(diào)整所述動態(tài)表單的頁面數(shù)據(jù)。

在上述實施例的基礎(chǔ)上,進(jìn)一步地,所述數(shù)據(jù)結(jié)構(gòu)中的字段還包括html控件標(biāo)識和腳本內(nèi)容。

在上述任意實施例的基礎(chǔ)上,進(jìn)一步地,所述腳本類型包括Groovy、Python和Ruby。

一種動態(tài)表單的高級控件實現(xiàn)裝置,包括:

腳本存儲模塊包括:

設(shè)置單元,用于設(shè)置腳本存儲的數(shù)據(jù)結(jié)構(gòu);數(shù)據(jù)結(jié)構(gòu)中的字段包括腳本類型;

輸入單元,用于接收用戶輸入到動態(tài)表單的腳本,作為輸入腳本;

校驗單元,用于根據(jù)所述腳本類型,調(diào)用與所述腳本類型相應(yīng)的執(zhí)行器執(zhí)行所述輸入腳本,對所述輸入腳本的合法性進(jìn)行校驗,獲取校驗結(jié)果;所述校驗結(jié)果包括合法和不合法;

保存單元,用于當(dāng)所述校驗結(jié)果為合法時,將所述輸入腳本保存為合法腳本;

腳本執(zhí)行模塊包括:

編寫單元,用于編寫html,實現(xiàn)input控件;

請求單元,用于根據(jù)所述input控件實現(xiàn)ajax,獲取腳本執(zhí)行請求;

判斷單元,用于調(diào)用服務(wù)器端對所述腳本執(zhí)行請求是否配置動態(tài)腳本進(jìn)行判斷,獲取判斷結(jié)果;所述判斷結(jié)果包括已配置和未配置;

執(zhí)行單元,用于當(dāng)所述判斷結(jié)果為已配置時,根據(jù)所述腳本類型,調(diào)用與所述腳本類型相應(yīng)的執(zhí)行器執(zhí)行所述合法腳本,獲取腳本執(zhí)行結(jié)果;所述腳本執(zhí)行結(jié)果包括返回結(jié)構(gòu);

調(diào)整單元,用于根據(jù)所述返回結(jié)構(gòu),通過javascript調(diào)整所述動態(tài)表單的頁面數(shù)據(jù)。

在上述實施例的基礎(chǔ)上,進(jìn)一步地,所述數(shù)據(jù)結(jié)構(gòu)中的字段還包括html控件標(biāo)識和腳本內(nèi)容。

在上述任意實施例的基礎(chǔ)上,進(jìn)一步地,所述腳本類型包括Groovy、Python和Ruby。

一種動態(tài)表單的高級控件實現(xiàn)系統(tǒng),包括:

上述任一項動態(tài)表單的高級控件實現(xiàn)裝置;

服務(wù)器端,用于受判斷單元調(diào)用,對所述腳本執(zhí)行請求是否配置動態(tài)腳本進(jìn)行判斷,獲取判斷結(jié)果并發(fā)送到判斷單元;

執(zhí)行器,用于受校驗單元調(diào)用,執(zhí)行所述輸入腳本,對所述輸入腳本的合法性進(jìn)行校驗,獲取校驗結(jié)果并發(fā)送到校驗單元;以及受執(zhí)行單元調(diào)用,執(zhí)行所述合法腳本,獲取腳本執(zhí)行結(jié)果并發(fā)送到執(zhí)行單元。

在上述實施例的基礎(chǔ)上,進(jìn)一步地,還包括:

存儲器,用于存儲所述保存單元發(fā)送的所述合法腳本。

在上述任意實施例的基礎(chǔ)上,進(jìn)一步地,所述數(shù)據(jù)結(jié)構(gòu)中的字段還包括html控件標(biāo)識和腳本內(nèi)容。

在上述任意實施例的基礎(chǔ)上,進(jìn)一步地,所述腳本類型包括Groovy、Python和Ruby。

本發(fā)明的有益效果是:

本發(fā)明提供了一種動態(tài)表單的高級控件實現(xiàn)方法、裝置及系統(tǒng),實現(xiàn)了一個允許用戶自定義計算公式的入口,允許用戶輸入不同腳本類型的腳本代碼,這樣在用戶填寫表單時,就可以調(diào)用與腳本類型相應(yīng)的執(zhí)行器執(zhí)行腳本,再把腳本運行結(jié)果回填到表單中,從而靈活地實現(xiàn)用戶在動態(tài)表單上應(yīng)用高級控件的需求。

附圖說明

下面結(jié)合附圖和實施例對本發(fā)明進(jìn)一步說明。

圖1示出了本發(fā)明實施例提供的一種動態(tài)表單的高級控件實現(xiàn)方法的流程圖;

圖2示出了本發(fā)明實施例提供的一種動態(tài)表單的高級控件實現(xiàn)裝置的結(jié)構(gòu)示意圖;

圖3示出了本發(fā)明實施例提供的一種動態(tài)表單的高級控件實現(xiàn)系統(tǒng)的結(jié)構(gòu)示意圖。

具體實施方式

為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不限定本發(fā)明。

具體實施例一

如圖1和圖2所示,本發(fā)明實施例提供了一種動態(tài)表單的高級控件實現(xiàn)方法,包括:

腳本存儲步驟S101:

步驟S1011,設(shè)置腳本存儲的數(shù)據(jù)結(jié)構(gòu);數(shù)據(jù)結(jié)構(gòu)中的字段包括腳本類型;

步驟S1012,接收用戶輸入到動態(tài)表單的腳本,作為輸入腳本;

步驟S1013,根據(jù)所述腳本類型,調(diào)用與所述腳本類型相應(yīng)的執(zhí)行器執(zhí)行所述輸入腳本,對所述輸入腳本的合法性進(jìn)行校驗,獲取校驗結(jié)果;所述校驗結(jié)果包括合法和不合法;

步驟S1014,當(dāng)所述校驗結(jié)果為合法時,將所述輸入腳本保存為合法腳本;

腳本執(zhí)行步驟S102:

步驟S1021,編寫html,實現(xiàn)input控件;

步驟S1022,根據(jù)所述input控件實現(xiàn)ajax,獲取腳本執(zhí)行請求;

步驟S1023,調(diào)用服務(wù)器端對所述腳本執(zhí)行請求是否配置動態(tài)腳本進(jìn)行判斷,獲取判斷結(jié)果;所述判斷結(jié)果包括已配置和未配置;

步驟S1024,當(dāng)所述判斷結(jié)果為已配置時,根據(jù)所述腳本類型,調(diào)用與所述腳本類型相應(yīng)的執(zhí)行器執(zhí)行所述合法腳本,獲取腳本執(zhí)行結(jié)果;所述腳本執(zhí)行結(jié)果包括返回結(jié)構(gòu);

步驟S1025,根據(jù)所述返回結(jié)構(gòu),通過javascript調(diào)整所述動態(tài)表單的頁面數(shù)據(jù)。

本發(fā)明實施例實現(xiàn)了一個允許用戶自定義計算公式的入口,允許用戶輸入不同腳本類型的腳本代碼,這樣在用戶填寫表單時,就可以調(diào)用與腳本類型相應(yīng)的執(zhí)行器執(zhí)行腳本,再把腳本運行結(jié)果回填到表單中,從而靈活地實現(xiàn)用戶在動態(tài)表單上應(yīng)用高級控件的需求。

本發(fā)明實施例對數(shù)據(jù)結(jié)構(gòu)中的字段不做限定,優(yōu)選的,所述數(shù)據(jù)結(jié)構(gòu)中的字段還可以包括html控件標(biāo)識和腳本內(nèi)容。

本發(fā)明實施例對腳本類型不做限定,優(yōu)選的,所述腳本類型包括Groovy、Python和Ruby。當(dāng)腳本類型為Groovy時,步驟S1013和步驟S1024中所調(diào)用的執(zhí)行器為Groovy執(zhí)行器。

具體實施例二

如圖2所示,本發(fā)明實施例提供了一種動態(tài)表單的高級控件實現(xiàn)裝置,包括:

腳本存儲模塊201包括:

設(shè)置單元2011,用于設(shè)置腳本存儲的數(shù)據(jù)結(jié)構(gòu);數(shù)據(jù)結(jié)構(gòu)中的字段包括腳本類型;

輸入單元2012,用于接收用戶輸入到動態(tài)表單的腳本,作為輸入腳本;

校驗單元2013,用于根據(jù)所述腳本類型,調(diào)用與所述腳本類型相應(yīng)的執(zhí)行器執(zhí)行所述輸入腳本,對所述輸入腳本的合法性進(jìn)行校驗,獲取校驗結(jié)果;所述校驗結(jié)果包括合法和不合法;

保存單元2014,用于當(dāng)所述校驗結(jié)果為合法時,將所述輸入腳本保存為合法腳本;

腳本執(zhí)行模塊202包括:

編寫單元2021,用于編寫html,實現(xiàn)input控件;

請求單元2022,用于根據(jù)所述input控件實現(xiàn)ajax,獲取腳本執(zhí)行請求;

判斷單元2023,用于調(diào)用服務(wù)器端對所述腳本執(zhí)行請求是否配置動態(tài)腳本進(jìn)行判斷,獲取判斷結(jié)果;所述判斷結(jié)果包括已配置和未配置;

執(zhí)行單元2024,用于當(dāng)所述判斷結(jié)果為已配置時,根據(jù)所述腳本類型,調(diào)用與所述腳本類型相應(yīng)的執(zhí)行器執(zhí)行所述合法腳本,獲取腳本執(zhí)行結(jié)果;所述腳本執(zhí)行結(jié)果包括返回結(jié)構(gòu);

調(diào)整單元2025,用于根據(jù)所述返回結(jié)構(gòu),通過javascript調(diào)整所述動態(tài)表單的頁面數(shù)據(jù)。

本發(fā)明實施例對數(shù)據(jù)結(jié)構(gòu)中的字段不做限定,優(yōu)選的,所述數(shù)據(jù)結(jié)構(gòu)中的字段還可以包括html控件標(biāo)識和腳本內(nèi)容。

本發(fā)明實施例對腳本類型不做限定,優(yōu)選的,所述腳本類型包括Groovy、Python和Ruby。當(dāng)腳本類型為Groovy時,步驟S1013和步驟S1024中所調(diào)用的執(zhí)行器為Groovy執(zhí)行器。

具體實施例三

如圖3所示,本發(fā)明實施例提供了一種動態(tài)表單的高級控件實現(xiàn)系統(tǒng),包括:

具體實施例二中任一項動態(tài)表單的高級控件實現(xiàn)裝置301;

服務(wù)器端302,用于受判斷單元調(diào)用,對所述腳本執(zhí)行請求是否配置動態(tài)腳本進(jìn)行判斷,獲取判斷結(jié)果并發(fā)送到判斷單元;

執(zhí)行器303,用于受校驗單元調(diào)用,執(zhí)行所述輸入腳本,對所述輸入腳本的合法性進(jìn)行校驗,獲取校驗結(jié)果并發(fā)送到校驗單元;以及受執(zhí)行單元調(diào)用,執(zhí)行所述合法腳本,獲取腳本執(zhí)行結(jié)果并發(fā)送到執(zhí)行單元。

優(yōu)選的,本發(fā)明實施例還可以包括存儲器304,用于存儲所述保存單元發(fā)送的所述合法腳本。這樣做的好處是,便于保存合法腳本,防止合法腳本遺失造成不必要的損失。

本發(fā)明實施例對數(shù)據(jù)結(jié)構(gòu)中的字段不做限定,優(yōu)選的,所述數(shù)據(jù)結(jié)構(gòu)中的字段還可以包括html控件標(biāo)識和腳本內(nèi)容。

本發(fā)明實施例對腳本類型不做限定,優(yōu)選的,所述腳本類型包括Groovy、Python和Ruby。當(dāng)腳本類型為Groovy時,步驟S1013和步驟S1024中所調(diào)用的執(zhí)行器為Groovy執(zhí)行器。

需要說明的是,在不沖突的情況下,本發(fā)明中的實施例及實施例中的特征可以相互組合。盡管本發(fā)明已進(jìn)行了一定程度的描述,明顯地,在不脫離本發(fā)明的精神和范圍的條件下,可進(jìn)行各個條件的適當(dāng)變化??梢岳斫猓景l(fā)明不限于所述實施方案,而歸于權(quán)利要求的范圍,其包括所述每個因素的等同替換。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1