一、引言
Velocity 主要使用场景如下:
Web 应用:开发者在不使用 JSP 的情况下,可以用 Velocity 让 HTML 具有动态内容的特性。
源代码生成:Velocity 可以被用来生成 Java 代码、SQL 或者 PostScript。
自动 Email:很多软件的用户注册、密码提醒或者 表都是使用 Velocity 来自动生成的。
转换 xml。
二、入门
velocity是一个基于java的模板引擎,与freemarker齐名,下面写一个velocity的hello world的demo。
maven依赖
org.apache.velocity
velocity
${velocity.version}
测试servelt
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.runtime.RuntimeConstants;
import org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.List;
/**
* ==Velocity之Hello Wordld入门程序==
*
* 首先,我们在代码中初始化了VelocityEngine这个模板引擎,对其设置参数进行初始化,
* 指定使用ClasspathResourceLoader来加载vm文件。然后我们就可以往VelocityContext这个Velocity
* 容器中存放对象了,在vm文件中我们可以取出这些变量,从而进行模板输出。
*/
public class VelocityTest {
private static final String VM_PATH = “template/velocity/helloworld.vm”;
public static void main(String[] args) {
// 初始化模板引擎
VelocityEngine velocityEngine = new VelocityEngine();
velocityEngine.setProperty(RuntimeConstants.RESOURCE_LOADER, “classpath”);
velocityEngine.setProperty(“classpath.resource.loader.class”, ClasspathResourceLoader.class.getName());
velocityEngine.init();
// 获取模板文件
Template template = velocityEngine.getTemplate(VM_PATH);
// 设置变量,velocityContext是一个类似map的结构
VelocityContext velocityContext = new VelocityContext();
velocityContext.put(“name”, “world”);
List list = new ArrayList();
list.add(“jack”);
list.add(“kitty”);
velocityContext.put(“list”, list);
// 输出渲染后的结果
StringWriter stringWriter = new StringWriter();
template.merge(velocityContext, stringWriter);
System.out.println(stringWriter.toString());
}
}
测试结果
hello world
1: This is jack
2: This is kitty
二、语法
2.1 变量
和我们所熟知的其他编程语言一样,Velocity 也可以在模板文件中有变量的概念。
变量定义
#set($name =“velocity”)
等 后面的字符串 Velocity 引擎将重新解析,例如出现以$开始的字符串时,将做变量的替换。
#set($hello =“hello $name”)
上面的这个等式将会给 $hello 赋值为“hello velocity”
变量的使用
在模板文件中使用
test1
测试2:访问localhost:8080/velocity/login

test2
可以看到,成功实现了不同页面引用和不引用公共模板的功能。
四、参考资料
文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览91960 人正在系统学习中 相关资源:Ztrans丹诚软件Z39.50客户端-其它工具类资源-CSDN文库
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!