模板引擎介绍

来源:互联网 发布:折装导轮的工具的数据 编辑:程序博客网 时间:2024/05/24 02:38

模板引擎,是指利用某种模板语言将页面制成模板,再依据业务逻辑将该模板语言翻译成业务数据,从而生成最终展示页面。其目的就是要把页面与业务数据实现彻底分离。它不属于特定技术领域,而是跨领域跨平台的概念。在Asp、Jsp下有模板引擎,在PHP下也有模板引擎,在C#下也有,甚至JavaScript、WinForm开发都会用到模板引擎技术。

模板引起根据原理可分为:置换型、解释型、编译型。

模板引擎不仅可以让你实现代码分离(业务逻辑代码和用户界面代码),也可以实现数据分离(动态数据与静态数据),还可以实现代码单元共享(代码复用),甚至是多语言、动态页面与静态页面自动均衡(SDE)等等与用户界面可能没有关系的功能,大大的提升了开发效率。其中比较典型的应用,如页面模板定制,动态生成静态页面等。

下面为大家介绍几款主流的模板引擎,以便为大家日后使用提供一些思路和依据。

一、Java平台

1.  Velocity

Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。 当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只 关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提 供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。 Velocity的能力远不止web站点开发这个领域,例如,它可以从模板(template)产生SQL和PostScript、XML,它也可以被当 作一个独立工具来产生源代码和报告,或者作为其他系统的集成组件使用。Velocity也可以为Turbine web开发架构提供模板服务(template service)。Velocity+Turbine提供一个模板服务的方式允许一个web应用以一个真正的MVC模型进行开发。

2.  FreeMarker

FreeMarker是一个免费的模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写,它被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序。虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据(如下图)

FreeMarker不是一个Web应用框架,而适合作为Web应用框架一个组件,比如作为Model2框架(如Struts)的视图组件,你也可以在模板中使用JSP标记库。FreeMarker与容器无关,因为它并不知道HTTP或Servlet;它同样可以应用于非Web应用程序环境。而且你还可以通过Eclipse的插件来编辑FreeMarker,经过验证,FreeMarker 最好的 Eclipse 编辑插件是 JBoss Tools。

 

二、.NET平台

1.  NVelocity

NVelocity 是 Velocity 模板引擎的 .NET 版本。nVelocity是一个基于.NET的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由.NET代码定义的对象。

2.  VTemplatet

VTemplate是一个免费的开源(采用LGPL开源许可协议)模板引擎,用于解析运行VT模板; 其主要目标是为ASP.Net开发提供另外一种技术选择方案,以保证用简单的语法,良好的结构,不混杂业务逻辑的方式书写页面; 适合于充当Model-View-Controller(MVC)模式应用的View角色,以使能更好的分离页面设计人员与业务开发人员的职责; 也可以作为动态文本生成工具,生成HTML、XML、Mail、程序源代码或其它文本等。

0 0