模板處理方法和裝置與流程
2023-10-22 02:07:20 1

本發明涉及網頁開發應用技術領域,尤其涉及一種模板處理方法和裝置。
背景技術:
在Web前端開發中,針對不同的技術,往往有各種不同的模板以供開發者使用。在這些模板中,集合了開發者最好的實踐、優秀的示例、實用的提示等資源,能夠節省大量的開發工作時間。開發者可以從這些模板中獲得非常有用的信息,這些信息濃縮了其他開發者多年的開發經驗。
在web前端開發中,模板模版與數據為強耦合的,為了提高生產效率,需要將模板與數據進行分離。傳統的實現模板與數據分離的方法是:將傳統的模版,放在管理模板邏輯文件的變量中。在這種傳統開發模式下,帶來的問題具體為:模板與模板邏輯,即數據的混合存放:代碼的可讀性降低,增加了維護成本。
技術實現要素:
鑑於此,有必要針對傳統技術中現有的問題,提出一種模板處理方法和裝置,能夠實現在網站系統運行時,在網站系統運行階段,將模板文件動態合併到實體數據文件中,提高了生產效率,提高了代碼的可讀性,降低了維護成本。
為達到本發明目的,提供了一種模板處理方法,所述方法包括:輸入超文本標記語言至可讀寫文件中生成模板文件,其中,所述模板文件為站點所提供的頁面及頁面內容;通過直譯式腳本語言寫入相對應的文件中的方式以定義與所述模板文件相對應的實體數據,並生成實體數據文件結構,其中,所述實體數據為用戶與站點提供的所述頁面及所述頁面內容的互動行為;根據預設的模板合併規則,將所述模板文件合併至所述實體數據文件結構中。
在其中一個實施例中,所述輸入超文本標記語言至可讀寫文件中生成模板文件具體包括:獲取站點所提供的頁面以及模板樣式;將所獲取的站點提供的所述頁面作為訓練樣本,對所述模板樣式中的至少一個欄位進行定義;根據輸入的超文本標記語言與每個欄位相匹配的字符串,在所述訓練樣本中進行模糊匹配以獲得候選字符串;去除所述候選字符串中的雜質字符以獲得目標字符串;獲得所述目標字符串在所述訓練樣本中的節點路徑,根據所述節點路徑,從所述訓練樣本中抽取所述模板樣式中定義的與所述目標字符串相匹配的欄位的描述信息生成所述模板文件。
在其中一個實施例中,所述根據預設的模板合併規則,將所述模板文件合併至所述實體數據文件結構中具體包括:通過程式語言或腳本語言將包含模板的所述可讀寫文件動態合併到包含實體數據的實體數據文件中。
在其中一個實施例中,所述根據預設的模板合併規則,將所述模板文件合併至所述實體數據文件結構中還包括:對包含模板的可讀寫文件中的模板字符串進行語法轉化,以獲取javascript語法的模板字符串;根據預設的模板合併規則,將獲取的所述javascript語法的模板字符串合併到所述javascript文件中。
在其中一個實施例中,還包括以下特徵中的至少一項:所述可讀寫文件包括:txt文檔、word文檔、pdf文檔、html文檔和xhtml文檔;每個所述欄位的描述信息包括:欄位的元信息、上下文信息、節點路徑和字體中的一個或多個。
基於同一發明構思的一種模板處理裝置,所述裝置包括:模板文件生成模塊,用於輸入超文本標記語言至可讀寫文件中生成模板文件,其中,所述模板文件為站點所提供的頁面及頁面內容;定義與生成模塊,用於通過直譯式腳本語言寫入相對應的文件中的方式以定義與所述模板文件相對應的實體數據,並生成實體數據文件結構,其中,所述實體數據為用戶與站點提供的所述頁面及所述頁面內容的互動行為;合併模塊,用於根據預設的模板合併規則,將所述模板文件合併至所述實體數據文件結構中。
在其中一個實施例中,所述模板文件生成模塊包括:獲取模塊,用於獲取站點所提供的頁面以及模板樣式;定義模塊,用於將所獲取的站點提供的所述頁面作為訓練樣本,對所述模板樣式中的至少一個欄位進行定義;匹配模塊,用於根據輸入的超文本標記語言與每個欄位相匹配的字符串,在所述訓練樣本中進行模糊匹配以獲得候選字符串;雜質去除模塊,用於去除所述候選字符串中的雜質字符以獲得目標字符串;生成模塊,用於獲得所述目標字符串在所述訓練樣本中的節點路徑,根據所述節點路徑,從所述訓練樣本中抽取所述模板樣式中定義的與所述目標字符串相匹配的欄位的描述信息生成所述模板文件。
在其中一個實施例中,所述合併模塊還用於通過程式語言或腳本語言將包含模板的所述可讀寫文件動態合併到包含實體數據的實體數據文件中。
在其中一個實施例中,所述合併模塊包括:語法轉化模塊,用於對包含模板的可讀寫文件中的模板字符串進行語法轉化,以獲取javascript語法的模板字符串;合併執行模塊,用於根據預設的模板合併規則,將獲取的所述javascript語法的模板字符串合併到所述javascript文件中。
在其中一個實施例中,還包括以下特徵中的至少一項:所述可讀寫文件包括:txt文檔、word文檔、pdf文檔、html文檔和xhtml文檔;每個所述欄位的描述信息包括:欄位的元信息、上下文信息、節點路徑和字體中的一個或多個。
本發明的有益效果包括:上述模板處理方法和裝置,通過輸入超文本標記語言至可讀寫文件中生成模板文件,其中,模板文件為站點所提供的頁面及頁面內容;通過直譯式腳本語言寫入相對應的文件中的方式以定義與模板文件相對應的實體數據,並生成實體數據文件結構,其中,實體數據為用戶與站點提供的頁面及頁面內容的互動行為;根據預設的模板合併規則,將模板文件合併至實體數據文件結構中。上述方法在網站開發階段,實現了模板文件與實體數據文件的分離;在網站系統運行時,在網站系統運行階段,將模板文件動態合併到實體數據文件中,提高了生產效率,提高了代碼的可讀性,降低了維護成本。
附圖說明
圖1為本發明一個實施例中的模板處理方法的步驟流程圖;以及
圖2為本發明一個實施例中的模板處理裝置的結構示意圖。
具體實施方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例對本發明模板處理方法和裝置進行進一步詳細說明。應當理解,此處所描述的具體實施例僅用以解釋本發明,並不用於限定本發明。
如圖1所示,為一個實施例中的一種模板處理方法的步驟流程圖。具體包括以下步驟:
步驟102,輸入超文本標記語言至可讀寫文件中生成模板文件。其中,可讀寫文件包括:txt文檔、word文檔、pdf文檔、html文檔和xhtml文檔,且模板文件為站點所提供的頁面及頁面內容。
本實施例中,輸入超文本標記語言至可讀寫文件中生成模板文件具體包括:獲取站點所提供的頁面以及模板樣式;將所獲取的站點提供的頁面作為訓練樣本,對模板樣式中的至少一個欄位進行定義;根據輸入的超文本標記語言與每個欄位相匹配的字符串,在訓練樣本中進行模糊匹配以獲得候選字符串;去除候選字符串中的雜質字符以獲得目標字符串;獲得目標字符串在訓練樣本中的節點路徑,根據節點路徑,從訓練樣本中抽取模板樣式中定義的與目標字符串相匹配的欄位的描述信息生成模板文件。其中,每個欄位的描述信息包括:欄位的元信息、上下文信息、節點路徑和字體中的一個或多個。
步驟104,通過直譯式腳本語言寫入相對應的文件中的方式以定義與模板文件相對應的實體數據,並生成實體數據文件結構。其中,實體數據為用戶與站點提供的頁面及頁面內容的互動行為。
步驟106,根據預設的模板合併規則,將模板文件合併至實體數據文件結構中。
本實施例中,根據預設的模板合併規則,將模板文件合併至實體數據文件結構中具體包括:通過程式語言或腳本語言將包含模板的可讀寫文件動態合併到包含實體數據的實體數據文件中。具體的,根據預設的模板合併規則,將模板文件合併至實體數據文件結構中還包括:對包含模板的可讀寫文件中的模板字符串進行語法轉化,以獲取javascript語法的模板字符串;根據預設的模板合併規則,將獲取的javascript語法的模板字符串合併到javascript文件中。
需要說明的是,對包含模板的可讀寫文件中的模板字符串進行語法轉化,以獲取javascript語法的模板字符串,為將包含模板的可讀寫文件中的模板字符串進行語法轉化,將html語言轉化為javascript語言,以獲取javascript語法的模板字符串;基於預設的模板合併規則,將javascript語法的模板字符串合併到javascript文件中,使得javascript文件包含模板文件與實體數據文件,即模板邏輯。
此外,還需要說明的是,本實施例提到的程式語言包括但不限於C語言、JAVA、C++、Basic語言、Object-C、C#、(Visual)Basic、PL/SQL、Delphi/Object Pascal、Visual Basic.NET、Lisp、Pascal、Ada、Transact-SQL、Logo、NXT-G、ASP.NET等等。腳本語言包括但不限於JavaScript、VBScript、Perl、PHP、Python、Ruby等。
本發明提供的一種模板處理方法,通過輸入超文本標記語言至可讀寫文件中生成模板文件,其中,模板文件為站點所提供的頁面及頁面內容;通過直譯式腳本語言寫入相對應的文件中的方式以定義與模板文件相對應的實體數據,並生成實體數據文件結構,其中,實體數據為用戶與站點提供的頁面及頁面內容的互動行為;根據預設的模板合併規則,將模板文件合併至實體數據文件結構中。上述方法在網站開發階段,實現了模板文件與實體數據文件的分離;在網站系統運行時,在網站系統運行階段,將模板文件動態合併到實體數據文件中,提高了生產效率,提高了代碼的可讀性,降低了維護成本。
基於同一發明構思,還提供了一種模板處理裝置,由於此裝置解決問題的原理與前述一種模板處理方法相似,因此,該裝置的實施可以按照前述方法的具體步驟實現,重複之處不再贅述。
如圖2所示,為一個實施例中的一種模板處理裝置的結構示意圖。該模板處理裝置10包括:模板文件生成模塊200、定義與生成模塊400和合併模塊600。
其中,模板文件生成模塊200用於輸入超文本標記語言至可讀寫文件中生成模板文件,其中,可讀寫文件包括:txt文檔、word文檔、pdf文檔、html文檔和xhtml文檔,且模板文件為站點所提供的頁面及頁面內容;定義與生成模塊400用於通過直譯式腳本語言寫入相對應的文件中的方式以定義與模板文件相對應的實體數據,並生成實體數據文件結構,其中,實體數據為用戶與站點提供的頁面及頁面內容的互動行為;合併模塊600用於根據預設的模板合併規則,將模板文件合併至實體數據文件結構中。
本實施例中,模板文件生成模塊200包括:獲取模塊210(圖中未示出)用於獲取站點所提供的頁面以及模板樣式;定義模塊220(圖中未示出)用於將所獲取的站點提供的頁面作為訓練樣本,對模板樣式中的至少一個欄位進行定義;匹配模塊230(圖中未示出)用於根據輸入的超文本標記語言與每個欄位相匹配的字符串,在訓練樣本中進行模糊匹配以獲得候選字符串;雜質去除模塊240(圖中未示出)用於去除候選字符串中的雜質字符以獲得目標字符串;生成模塊250(圖中未示出)用於獲得目標字符串在訓練樣本中的節點路徑,根據節點路徑,從訓練樣本中抽取模板樣式中定義的與目標字符串相匹配的欄位的描述信息生成模板文件。其中,每個欄位的描述信息包括:欄位的元信息、上下文信息、節點路徑和字體中的一個或多個。
此外,本實施例中,合併模塊600還用於通過程式語言或腳本語言將包含模板的可讀寫文件動態合併到包含實體數據的實體數據文件中。具體的,合併模塊600包括:語法轉化模塊610(圖中未示出)用於對包含模板的可讀寫文件中的模板字符串進行語法轉化,以獲取javascript語法的模板字符串;合併執行模塊620(圖中未示出)用於根據預設的模板合併規則,將獲取的javascript語法的模板字符串合併到javascript文件中。
本發明提供的一種模板處理裝置,通過模板文件生成模塊200輸入超文本標記語言至可讀寫文件中生成模板文件,其中,模板文件為站點所提供的頁面及頁面內容;再通過定義與生成模塊400通過直譯式腳本語言寫入相對應的文件中的方式以定義與模板文件相對應的實體數據,並生成實體數據文件結構,其中,實體數據為用戶與站點提供的頁面及頁面內容的互動行為;最終通過合併模塊600根據預設的模板合併規則,將模板文件合併至實體數據文件結構中。上述裝置在網站開發階段,實現了模板文件與實體數據文件的分離;在網站系統運行時,在網站系統運行階段,將模板文件動態合併到實體數據文件中,提高了生產效率,提高了代碼的可讀性,降低了維護成本。
本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以通過電腦程式來指令相關的硬體來完成,所述的程序可存儲於一計算機可讀取存儲介質中,該程序在執行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光碟、只讀存儲記憶體(Read-Only Memory,ROM)或隨機存儲記憶體(Random Access Memory,RAM)等。
以上所述實施例的各技術特徵可以進行任意的組合,為使描述簡潔,未對上述實施例中的各個技術特徵所有可能的組合都進行描述,然而,只要這些技術特徵的組合不存在矛盾,都應當認為是本說明書記載的範圍。
以上所述實施例僅表達了本發明的幾種實施方式,其描述較為具體和詳細,但並不能因此而理解為對本發明專利範圍的限制。應當指出的是,對於本領域的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若干變形和改進,這些都屬於本發明的保護範圍。因此,本發明專利的保護範圍應以所附權利要求為準。