Jakarta Velocity 起步
velocity-dep-1.5.jar
/**
* Created by IntelliJ IDEA.<p>
* User: leizhimin<p>
* Date: 2008-8-16 23:46:03<p>
* 普通的JavaBean,用来携带模板参数
*/
public class Person {
private String name;
private String sex;
private int age;
public Person(String name, String sex, int age) {
this.name = name;
this.sex = sex;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge( int age) {
this.age = age;
}
}
<person>
<name>$person.name</name>
<sex>$person.sex</sex>
<sex>$person.age</sex>
</person>
</personlist>
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.Velocity;
import java.io.*;
/**
* Created by IntelliJ IDEA.<p>
* User: leizhimin<p>
* Date: 2008-8-16 23:37:43<p>
* 通过一个简单的示例演示Velocity的工作原理和流程
*/
public class SimpleTest {
public static void main(String[] args) throws Exception {
test();
}
public static void test() throws Exception {
Person p = new Person( "zhangsan", "men", 22);
// 初始化Velocity引擎,init对引擎VelocityEngine配置了一组默认的参数
// VelocityEngine是单例模式,线程安全
Velocity.init();
// 创建一个上下文环境,此实例是非线程安全的
VelocityContext context = new VelocityContext();
// 用对象填充context
context.put( "person", p);
// 通过一个FileReader读取模板文件
Reader reader = new FileReader( new File( "Q:\\_dev_stu\\commons_stu\\velocity\\src\\simple\\person.vm"));
// 创建一个字符串输出流,模板输出的目标
StringWriter writer = new StringWriter();
// 根据模板上下文对模板求值,logMsgName字符串为发生异常时候记录模板异常提供方便
Velocity.evaluate(context, writer, "logMsgName", reader);
// 将求值的结果从控制台输出
System.out.println(writer.toString());
}
}
<person>
<name>zhangsan</name>
<sex>men</sex>
<sex>22</sex>
</person>
</personlist>
Process finished with exit code 0