发布于 2016-05-16 15:29:50 | 729 次阅读 | 评论: 3 | 来源: PHPERZ
Velocity是一款基于Java的模板引擎。它允许Web页面设计者引用Java代码中定义的方法。Web设计者能与根据Model-View-Controller (MVC)模型开发Web网站的Java程序员合作,意味着Web页面设计者能将注意力放在创建设计精良的网站,而程序员能将注意力放在编写代码上。Velocity从Web页面中分离Java代码,使Web网站在长时间运行时更可维护性和提供Java Server Pages(JSP)或PHP的替代方案。
Velocity能用于从模板产生Web页面、SQL、PostScript和其它输出。它能用于作为单独的工具类生成源码和报表,或作为其它系统的一个整合组件。Velocity将为Turbine Web应用程序框架提供模板服务。Velocity+Turbine将提供模板服务允许Web应用程序根据真实MVC模型开发。
JDK(必须)
Jakarta Commons Collections(必须)
Jakarta Commons Lang(必须)
Excalibur(ex-Avalon)Logkit(可选,如果使用默认的基于文件的日志时需要)
Jakarta ORO(可选,当使用org.apache.velocity.convert.WebMacro模板转换工具或org.apache.velocity.app.event.implement.Escape Reference ReferenceInsertionEventHandler时使用)
初始化Velocity
创建Context对象
添加数据对象到Context
选择模板
“合并”模板和数据产生输出
模板:
${word}
代码:
Velocity.init();
VelocityContext context = new VelocityContext();
context.put( "word", "Hello Velocity!");
// 模板路径默认是当前项目的根目录
Template template = Velocity.getTemplate("src/main/java/com/study/velocity/HelloWord.vm");
StringWriter sw = new StringWriter();
template.merge(context, sw);
System.out.println(sw);
与单例不同,多例可以在用一个JVM或Web应用程序中维护多组配置。
VelocityEngine ve = new VelocityEngine();
ve.init();
Template t = ve.getTemplate("src/main/java/com/study/velocity/HelloWord.vm");
StringWriter sw = new StringWriter();
VelocityContext context = new VelocityContext();
context.put( "word", "Hello Velocity!");
t.merge(context, sw);
System.out.println(sw);
现在都用什么?