js模板引擎_強(qiáng)大的模板引擎開源軟件NVelocity
本文關(guān)鍵詞:模板引擎,由筆耕文化傳播整理發(fā)布。
強(qiáng)大的模板引擎開源軟件NVelocity
強(qiáng)大的模板引擎開源軟件NVelocity
背景知識(shí)
NVelocity( )是從java編寫的Velocity移植的.net版本,是java界超強(qiáng)的模版系統(tǒng),.net版本的NVelocity目前版本為0.42。
NVelocity擁有完善的、豐富的模板語言(VTL,Velocity Template Language) ,幾乎所有高級(jí)語言的特性都可以在模板引擎語言中找到。(如流程控制語句、數(shù)學(xué)運(yùn)算、關(guān)系和邏輯操作符、函數(shù)定義、注釋等等)
NVelocity可以做什么?
能夠快速生成所需的代碼、SQL腳本、頁面文件等基于文本內(nèi)容的文件
生成速度快、模板語言完善、靈活性好
容易學(xué)習(xí)、開源,免費(fèi)使用
前身為Velocity(Java),使用者多,資料全
用途
在編寫代碼的時(shí)候,我們可以發(fā)現(xiàn)很多內(nèi)容都是不需要變化的,變化的只是一小部分內(nèi)容,對(duì)不同的對(duì)象,這些內(nèi)容不同。
如果我們需要生成一個(gè)變化的文檔,是否需要在代碼拷貝這些不變化的內(nèi)容么,或者把它剝離開放到其他的文件去么?還有我們是否能對(duì)這些內(nèi)容有一些簡(jiǎn)單的控制和引用么?
簡(jiǎn)單例子(主要規(guī)則:引用以$開頭用于取得什么東西,而指令以# 開始用于做什么事情)
變量說明
在VTL中,所有變量標(biāo)識(shí)符的開頭要加上$字符,,如$Name,也可以用一種更加明確的方法表示,例如${name}。
變量標(biāo)識(shí)符被映射到稍后即將介紹的VelocityContext對(duì)象。在模板引擎處理模板時(shí),變量名稱(如name)被替換成VelocityContext中提供的值
C#代碼
注釋
單行注釋
## This is a single line comment
多行注釋
#*
Thus begins a multi-line comment. Online visitors won't
see this text because the Velocity Templating Engine will
ignore it.
*#
屬性或方法
$customer.Address
$purchase.Total
$page.SetTitle( "My Home Page" )
$person.SetAttributes( ["Strange", "Weird", "Excited"] )
指令
#set( $primate = "monkey" )
#set( $monkey.Friend = "monica" )
#set( $criteria = ["name", "address"] )
#foreach( $criterion in $criteria )
#set( $result = $query.criteria($criterion) )
#if( $result )
Query was successful
#end
#end
If / ElseIf / Else
Foreach 循環(huán)
#if( $foo < 10 )
本文關(guān)鍵詞:模板引擎,由筆耕文化傳播整理發(fā)布。
本文編號(hào):220459
本文鏈接:http://sikaile.net/wenshubaike/mfmb/220459.html