Velocity是如何工作的

时间:2023-11-09 22:08:20

当在一个应用程序或者servlet中使用Velocity的时候,你要做如下几个工作:

  1. 初始化Velocity。Velocity提供2种使用形式,不管是单一实例模式还是单独运行实例模式,初始化过程都只做一次
  2. 创建上下文对象
  3. 添加数据对象到上下文中
  4. 选择模版
  5. 'Merge'模版并且执行数据输出

代码中,通过使用org.apache.velocity.app.Velocity类单一实例模式

 import java.io.StringWriter;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.Template;
import org.apache.velocity.app.Velocity;
import org.apache.velocity.exception.ResourceNotFoundException;
import org.apache.velocity.exception.ParseErrorException;
import org.apache.velocity.exception.MethodInvocationException; Velocity.init(); VelocityContext context = new VelocityContext(); context.put( "name", new String("Velocity") ); Template template = null; try
{
template = Velocity.getTemplate("mytemplate.vm");
}
catch( ResourceNotFoundException rnfe )
{
// couldn't find the template
}
catch( ParseErrorException pee )
{
// syntax error: problem parsing the template
}
catch( MethodInvocationException mie )
{
// something invoked in the template
// threw an exception
}
catch( Exception e )
{} StringWriter sw = new StringWriter(); template.merge( context, sw );

这是一个基本的形式,非常简单,对不对?这就是你在使用Velocity来呈现一个模版时所做的事情。你或许不需要像这样来写代码 - 我们提供了一些工具来更容易的使用它。无论如何,不管如何使用Velocity,上面的执行序列都是会在后台真实发生的。