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

生成瀏覽器頁面的方法、系統(tǒng)及終端設(shè)備的制作方法

文檔序號:6518665閱讀:238來源:國知局
生成瀏覽器頁面的方法、系統(tǒng)及終端設(shè)備的制作方法
【專利摘要】本發(fā)明公開了一種生成基于HTML代碼的瀏覽器頁面的方法、系統(tǒng)及終端設(shè)備。該生成基于HTML代碼的瀏覽器頁面的方法包括:從遠(yuǎn)程服務(wù)器側(cè)獲取模板信息;使用正則表達(dá)式解析模板語法;根據(jù)實際模板內(nèi)容,動態(tài)生成模板所需要的填充方法;使用用戶數(shù)據(jù)執(zhí)行動態(tài)生成的模板填充方法,生成HTML代碼的瀏覽器頁面;顯示基于所述HTML代碼的瀏覽器頁面。本發(fā)明還提供了一種生成基于HTML代碼的瀏覽器頁面的系統(tǒng)及終端設(shè)備。本發(fā)明實施例通過模板的動態(tài)生成以及模板的數(shù)據(jù)填充來形成HTML代碼,大大提高了模板的解析和填充效率,有效提升了系統(tǒng)的運算邏輯、使得系統(tǒng)的運算量減少,瀏覽器頁面處理速度提高。
【專利說明】生成瀏覽器頁面的方法、系統(tǒng)及終端設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,具體涉及生成基于HTML代碼的瀏覽器頁面的方法、系統(tǒng)及終端設(shè)備。
【背景技術(shù)】
[0002]用于Web開發(fā)的模板引擎是為了使用戶界面與業(yè)務(wù)數(shù)據(jù)(內(nèi)容)分離而產(chǎn)生的,它可以生成特定格式的文檔,用于網(wǎng)站的模板引擎就會生成一個標(biāo)準(zhǔn)的HTML文檔。模板引擎可以讓(網(wǎng)站)程序?qū)崿F(xiàn)界面與數(shù)據(jù)分離,這就大大提升了開發(fā)效率,良好的設(shè)計也使得代碼重用變得更加容易。
[0003]現(xiàn)有WinJS (Windows Library for Javascript)模板引擎技術(shù)是微軟公司所提供的一套使用JSON (JavaScript Object Notation)數(shù)據(jù)和HTML (超文本標(biāo)記語言,即Hypertext Markup Language)模板,來驅(qū)動生成HTML代碼的技術(shù)。
[0004]WinJS模板引擎使用屬性解釋標(biāo)記的辦法來描述模板信息,不能靈活的表達(dá)模板要綁定的信息,不便于描述一些邏輯運算,會使得模板所需要的邏輯運算信息和模板描述被分離開來。這種描述方式不靈活,不方便,增加了維護(hù)成本。

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

[0005]本發(fā)明實施例提供一種生成基于HTML代碼的瀏覽器頁面的方法及系統(tǒng)以及終端設(shè)備,能夠提高模板的解析和 填充效率,解決手動編寫代碼去做嵌套模板的綁定和渲染的問題。
[0006]本發(fā)明實施例提供一種生成瀏覽器頁面的方法,所述方法用于具有HTML代碼的瀏覽器頁面,即生成基于HTML代碼的瀏覽器頁面的方法,其包括:
[0007]從遠(yuǎn)程服務(wù)器側(cè)獲取模板信息;
[0008]使用正則表達(dá)式解析模板語法;
[0009]根據(jù)所述模板語法確定所述模板的實際模板內(nèi)容,根據(jù)實際模板內(nèi)容,動態(tài)生成模板所需要的模板填充方法;
[0010]使用用戶數(shù)據(jù)執(zhí)行動態(tài)生成的模板填充方法,生成HTML代碼的瀏覽器頁面。
[0011]優(yōu)選地,在所述從遠(yuǎn)程服務(wù)器側(cè)獲取模板信息的步驟中,所獲取的模板所采用的語言為 JavaScript。
[0012]優(yōu)選地,在所述使用正則表達(dá)式解析模板語法的步驟中,具體包括:使用if/else邏輯計算表達(dá)式來解析模板語法,所述if/else邏輯計算表達(dá)式為下列表達(dá)式中的一個或多個:
[0013].{{if〈condition>}}〈action〉{{/if}};
[0014].{{if〈condition>}}〈action〉{{else}}〈action〉{{/if}};和
[0015].{{if〈condition〉}}〈action〉{{elif〈condition〉}}<action>{{else}}<action>{{/if}。[0016]優(yōu)選地,在所述使用正則表達(dá)式解析模板語法的步驟中,具體包括:使用模板嵌套描述來解析模板語法,所述模板嵌套描述為:
[0017].{{tmpl〈template>}}。
[0018]優(yōu)選地,在所述使用正則表達(dá)式解析模板語法的步驟中,具體包括:使用模板數(shù)據(jù)綁定描述來解析模板語法,所述模板數(shù)據(jù)綁定描述為:
[0019].{{=js call}}。
[0020]優(yōu)選地,在所述使用用戶數(shù)據(jù)執(zhí)行動態(tài)生成的模板填充方法,生成HTML代碼的瀏覽器頁面的步驟中,所述用戶數(shù)據(jù)包括姓名、年齡、寵物名字和零食偏好中的一種或多種。
[0021]本發(fā)明實施例還提供了一種生成瀏覽器頁面的系統(tǒng),包括:
[0022]獲取模塊,用于從遠(yuǎn)程服務(wù)器側(cè)獲取模板信息;
[0023]解析模塊,用于使用正則表達(dá)式解析模板語法;
[0024]填充方法生成模塊,用于根據(jù)所述模板語法確定所述模板的實際模板內(nèi)容,根據(jù)實際模板內(nèi)容,動態(tài)生成模板所需要的模板填充方法;
[0025]模板填充模塊,用于使用用戶數(shù)據(jù)執(zhí)行動態(tài)生成的模板填充方法,生成HTML代碼的瀏覽器頁面。
[0026]優(yōu)選地,所述解析模塊使用if/else邏輯計算表達(dá)式、模板嵌套描述和/或模板數(shù)據(jù)綁定描述來解析模板語法。
[0027]本發(fā)明實施例還提供了一種終端設(shè)備,包括處理單元以及存儲單元,其中:
[0028]處理單元用于從遠(yuǎn)程服務(wù)器獲取模板信息以及獲取用戶數(shù)據(jù);
[0029]存儲單元用于使用正則表達(dá)式解析模板語法,根據(jù)所述模板語法確定所述模板的實際模板內(nèi)容,根據(jù)實際模板內(nèi)容,動態(tài)生成模板所需要的模板填充方法,并使用獲取的所述用戶數(shù)據(jù)執(zhí)行動態(tài)生成的模板填充方法,生成HTML代碼的瀏覽器頁面。
[0030]優(yōu)選地,所述處理單元還用于在終端設(shè)備上顯示基于所述HTML代碼的瀏覽器頁面。
[0031]從上述技術(shù)方案可以看出,由于本發(fā)明實施例采用的正則表達(dá)式來解析模板語法,通過提供嵌套模板的描述辦法,便于描述一些邏輯運算,使得模板所需要的邏輯運算信息和模板描述被統(tǒng)一描述,不用分開描述。避免了手動編寫代碼去做嵌套模板的綁定和渲染,節(jié)約了模板執(zhí)行時間,且降低了維護(hù)成本,提高了模板執(zhí)行效率。
【專利附圖】

【附圖說明】
[0032]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
[0033]圖1是本發(fā)明實施例生成基于HTML代碼的瀏覽器頁面的方法的流程示意圖;
[0034]圖2是本發(fā)明實施例生成基于HTML代碼的瀏覽器頁面的系統(tǒng)的模塊結(jié)構(gòu)示意圖。
【具體實施方式】
[0035]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,其各技術(shù)特征的組合以及本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護(hù)的范圍。
[0036]本發(fā)明實施例提供了一種生成基于HTML代碼的瀏覽器頁面的方法,所述方法包括:從遠(yuǎn)程服務(wù)器側(cè)獲取模板信息;使用正則表達(dá)式解析模板語法;根據(jù)所述模板語法確定所述模板的實際模板內(nèi)容,根據(jù)實際模板內(nèi)容,動態(tài)生成模板所需要的模板填充方法;使用用戶數(shù)據(jù)執(zhí)行動態(tài)生成的模板填充方法,生成HTML代碼的瀏覽器頁面;顯示基于所述HTML代碼的瀏覽器頁面。以下分別進(jìn)行詳細(xì)說明。
[0037]請結(jié)合參看圖1,本發(fā)明實施例生成基于HTML代碼的瀏覽器頁面的方法的流程示意圖,包括如下步驟:
[0038]步驟102,從遠(yuǎn)程服務(wù)器側(cè)獲取模板信息。 [0039]用戶終端的操作系統(tǒng)響應(yīng)用戶操作,需要生成瀏覽器頁面時,首先與遠(yuǎn)程服務(wù)器建立聯(lián)系,從遠(yuǎn)程服務(wù)器側(cè)獲取模板信息。
[0040]模板包含表示元素,這些元素包括文本文字、HTML和數(shù)據(jù)綁定表達(dá)式,用于后續(xù)的用戶數(shù)據(jù)填充以及實現(xiàn)用戶界面,模板是建立通用的與數(shù)據(jù)類型無關(guān)的算法的重要手段。本步驟中所獲取的模板所采用的語言為JavaScript。JavaScript是一種基于對象和事件驅(qū)動并具有相對安全性的客戶端腳本語言。同時也是一種廣泛用于客戶端Web開發(fā)的腳本語言,常用來給HTML網(wǎng)頁添加動態(tài)功能,比如響應(yīng)用戶的各種操作。
[0041]步驟104,使用正則表達(dá)式解析模板語法。
[0042]正則表達(dá)式是對字符串操作的一種邏輯公式,是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規(guī)則字符串”,這個“規(guī)則字符串”用來表達(dá)對字符串的一種過濾邏輯。給定一個正則表達(dá)式和另一個字符串,可以達(dá)到如下的目的:1.給定的字符串是否符合正則表達(dá)式的過濾邏輯(稱作“匹配”);2.可以通過正則表達(dá)式從字符串中獲取我們想要的特定部分。
[0043]具體地來說,在本發(fā)明生成基于HTML代碼的瀏覽器頁面的方法的實施例中,使用了三類正則表達(dá)式來描述模板所需要的邏輯運算,具體如下:
[0044]1.模板引擎if/else邏輯計算表達(dá)式:
[0045].{{if〈condition>}}〈action〉{{/if}}
[0046].{{if〈condition>}}〈action〉{{else}}〈action〉{{/if}}或
[0047].{{if〈condition〉}}〈action〉{{elif〈condition〉}}<action>{{else}}<action>{{/if}
[0048]2.模板嵌套描述:
[0049].{{tmpl〈template>}}
[0050]3.模板數(shù)據(jù)綁定描述:
[0051].{{=js call}}
[0052]下文將結(jié)合具體實例來介紹正則表達(dá)式的具體應(yīng)用。
[0053]步驟106,根據(jù)所述模板語法確定所述模板的實際模板內(nèi)容,根據(jù)實際模板內(nèi)容,動態(tài)生成模板所需要的模板填充方法。
[0054]由于JavaScript是一種動態(tài)語言,可以在程序運行時改變其結(jié)構(gòu):新的函數(shù)可以被引進(jìn)、已有的函數(shù)可以被刪除等。模版語言內(nèi)容和一些固定內(nèi)容組成了一個模版。在本實施例中,例如可通過JavaScript的getElementByld取得模版描述。因此,在本步驟中,可以基于不同的模板內(nèi)容,相應(yīng)動態(tài)生成模板填充方法。
[0055]在現(xiàn)有技術(shù)中,微軟WinJS模版技術(shù)所使用的模版語法解釋引擎處理過程要分詞組成語法解析樹,完成一個文法、詞法解析,所以處理過程相對復(fù)雜,效率較低。本發(fā)明由于基于步驟104中的正則表達(dá)式來匹配模板語法,動態(tài)生產(chǎn)填充方法,因此得以提升模板的解析和填充效率。
[0056]步驟108,使用用戶數(shù)據(jù)執(zhí)行動態(tài)生成的模板填充方法,生成HTML代碼的瀏覽器頁面。
[0057]在本步驟中,采用步驟106中所生成的模板填充方法將用戶數(shù)據(jù)填充到模板中去,進(jìn)而生成HTML代碼的瀏覽器頁面。其中,用戶數(shù)據(jù)比如包括姓名、年齡、寵物名字、零食偏好等等信息。此處需要說明的是,用戶終端的操作系統(tǒng)一般從遠(yuǎn)程服務(wù)器獲取JSON用戶數(shù)據(jù)。
[0058]在現(xiàn)有技術(shù)微軟的WinJS模版方法里,沒有根據(jù)不同模版內(nèi)容動態(tài)生成填充方法,而是根據(jù)文法詞法,來一點一點替換模版占位描述來填充。本發(fā)明實施例根據(jù)實際模版內(nèi)容生產(chǎn)一個方法,把Json數(shù)據(jù)帶入,就可以生成全部模版內(nèi)容,沒有用詞法、文法解析,不需要一點一點進(jìn)行替換。
[0059]步驟110,顯示基于所述HTML代碼的瀏覽器頁面。在步驟108中生成HTML代碼的瀏覽器頁面之后,優(yōu) 選地,顯示該基于所述HTML代碼的瀏覽器頁面。當(dāng)然,在其他實施例中,也可以將生成的HTML代碼的瀏覽器頁面?zhèn)魉徒o其他的終端,比如遠(yuǎn)端電腦或者服務(wù)器,用于后續(xù)處理。
[0060]本發(fā)明實施例使用正則表達(dá)式解析模板語法,同時利用JavaScript的動態(tài)語言特性,根據(jù)所述模板語法確定所述模板的實際模板內(nèi)容,根據(jù)實際模板內(nèi)容,動態(tài)生成模板所需要的模板填充方法,然后使用用戶數(shù)據(jù)執(zhí)行動態(tài)生成的模板填充方法,取得最終生成的HTML,大大提高了模板的解析和填充效率。
[0061]下文將通過具體應(yīng)用來介紹上述步驟104中,使用正則表達(dá)式解析模板語法的實例。
[0062]實例1:使用if/else邏輯計算表達(dá)式
[0063]采用本發(fā)明方法的描述方式:
[0064]
【權(quán)利要求】
1.一種生成瀏覽器頁面的方法,所述方法包括: 從遠(yuǎn)程服務(wù)器側(cè)獲取模板信息; 使用正則表達(dá)式解析模板語法; 根據(jù)所述模板語法確定所述模板的實際模板內(nèi)容,根據(jù)實際模板內(nèi)容,動態(tài)生成模板所需要的模板填充方法; 使用用戶數(shù)據(jù)執(zhí)行動態(tài)生成的所述模板填充方法,生成HTML代碼的瀏覽器頁面。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述獲取模板信息的步驟中,所獲取的模板所采用的語言為JavaScript。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,在所述使用正則表達(dá)式解析模板語法的步驟中,具體包括:使用if/else邏輯計算表達(dá)式來解析模板語法,所述if/else邏輯計算表達(dá)式為下列表達(dá)式中的一個或多個:
?{{if<condition>}}<action>{{/if}};
?{{if<condition>}}<action>{{else}}<action>{{/if}};和 ?{{if〈condition〉}}<action>{{elif〈condition>}}<action>{{else}}<action>{{/if}。
4.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,在所述使用正則表達(dá)式解析模板語法的步驟中,具體包括:使用模板嵌套描述來解析模板語法,所述模板嵌套描述為:
?{{tmpl〈template>}}ο
5.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,在所述使用正則表達(dá)式解析模板語法的步驟中,具體包括:使用模板數(shù)據(jù)綁定描述來解析模板語法,所述模板數(shù)據(jù)綁定描述為:
?{{=js call}}ο
6.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,在所述使用用戶數(shù)據(jù)執(zhí)行動態(tài)生成的模板填充方法,生成HTML代碼的瀏覽器頁面的步驟中,所述用戶數(shù)據(jù)包括姓名、年齡、寵物名字和零食偏好中的一種或多種。
7.—種生成瀏覽器頁面的系統(tǒng),其特征在于,包括: 獲取模塊,用于獲取模板信息; 解析模塊,用于使用正則表達(dá)式解析模板語法; 填充方法生成模塊,用于根據(jù)所述模板語法確定所述模板的實際模板內(nèi)容,根據(jù)實際模板內(nèi)容,動態(tài)生成模板所需要的模板填充方法; 模板填充模塊,用于使用用戶數(shù)據(jù)執(zhí)行動態(tài)生成的模板填充方法,生成HTML代碼的瀏覽器頁面。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述解析模塊使用if/else邏輯計算表達(dá)式、模板嵌套描述和/或模板數(shù)據(jù)綁定描述來解析模板語法。
9.一種終端設(shè)備,其特征在于,包括處理單元以及存儲單元,其中: 處理單元用于從遠(yuǎn)程服務(wù)器獲取模板信息以及獲取用戶數(shù)據(jù); 存儲單元用于使用正則表達(dá)式解析模板語法,根據(jù)所述模板語法確定所述模板的實際模板內(nèi)容,根據(jù)實際模板內(nèi)容,動態(tài)生成模板所需要的模板填充方法,并使用獲取的所述用戶數(shù)據(jù)執(zhí)行動態(tài)生成的模板填充方法,生成HTML代碼的瀏覽器頁面。
10.根據(jù)權(quán)利要求9所述的終端設(shè)備,其特征在于,所述處理單元還用于在終端設(shè)備上顯示基于所述HTML代碼的 瀏覽器頁面。
【文檔編號】G06F9/44GK103544024SQ201310559932
【公開日】2014年1月29日 申請日期:2013年11月12日 優(yōu)先權(quán)日:2013年11月12日
【發(fā)明者】劉洋 申請人:深圳如果技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
榆社县| 平谷区| 石渠县| 鄂伦春自治旗| 临高县| 监利县| 商城县| 习水县| 玛纳斯县| 汾西县| 双城市| 大兴区| 新余市| 介休市| 铜川市| 大姚县| 济阳县| 江门市| 怀来县| 多伦县| 兴安盟| 正安县| 塔河县| 穆棱市| 郑州市| 庄河市| 荆门市| 金坛市| 马鞍山市| 四平市| 山阳县| 遂昌县| 镇雄县| 津南区| 莱西市| 闻喜县| 平果县| 远安县| 凯里市| 淮滨县| 潮州市|