js模板引擎_强大的模板引擎开源软件NVelocity
本文关键词:模板引擎,由笔耕文化传播整理发布。
强大的模板引擎开源软件NVelocity
强大的模板引擎开源软件NVelocity
背景知识
NVelocity( )是从java编写的Velocity移植的.net版本,是java界超强的模版系统,.net版本的NVelocity目前版本为0.42。
NVelocity拥有完善的、丰富的模板语言(VTL,Velocity Template Language) ,几乎所有高级语言的特性都可以在模板引擎语言中找到。(如流程控制语句、数学运算、关系和逻辑操作符、函数定义、注释等等)
NVelocity可以做什么?
能够快速生成所需的代码、SQL脚本、页面文件等基于文本内容的文件
生成速度快、模板语言完善、灵活性好
容易学习、开源,免费使用
前身为Velocity(Java),使用者多,资料全
用途
在编写代码的时候,我们可以发现很多内容都是不需要变化的,变化的只是一小部分内容,对不同的对象,这些内容不同。
如果我们需要生成一个变化的文档,是否需要在代码拷贝这些不变化的内容么,或者把它剥离开放到其他的文件去么?还有我们是否能对这些内容有一些简单的控制和引用么?
简单例子(主要规则:引用以$开头用于取得什么东西,而指令以# 开始用于做什么事情)
变量说明
在VTL中,所有变量标识符的开头要加上$字符,,如$Name,也可以用一种更加明确的方法表示,例如${name}。
变量标识符被映射到稍后即将介绍的VelocityContext对象。在模板引擎处理模板时,变量名称(如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 循环
#if( $foo < 10 )
本文关键词:模板引擎,由笔耕文化传播整理发布。
本文编号:220459
本文链接:https://www.wllwen.com/wenshubaike/mfmb/220459.html