Есть некоторый шаблон синтаксического анализа. Вы можете увидеть некоторое повышение производительности, предварительно проанализировав шаблон, если ваш шаблон большой и вы используете его несколько раз. Вы можете сделать что-то вроде этого,
RuntimeServices runtimeServices = RuntimeSingleton.getRuntimeServices();
StringReader reader = new StringReader(bufferForYourTemplate);
Template template = new Template();
template.setRuntimeServices(runtimeServices);
/*
* The following line works for Velocity version up to 1.7
* For version 2, replace "Template name" with the variable, template
*/
template.setData(runtimeServices.parse(reader, "Template name")));
template.initDocument();
Затем вы можете вызывать template.merge()
снова и снова, не анализируя его каждый раз.
Кстати, вы можете передать строку напрямую Velocity.evaluate()
.