Hay una plantilla de análisis de gastos indirectos. Es posible que vea cierta ganancia de rendimiento al analizar previamente la plantilla si su plantilla es grande y la usa repetidamente. Se puede hacer algo como esto,
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();
A continuación, puede llamar template.merge()
una y otra vez sin necesidad de analizar cada vez.
Por cierto, puede pasar String directamente al Velocity.evaluate()
.
Exactamente lo que estaba buscando. Gracias. Para referencia de otras personas, runtimeServices es una instancia de org.apache.velocity.runtime.RuntimeInstance – tomsame
Perdida de una línea. Para completar, lo agregué. –
+1 por la mención de Velocity. Evaluar ya que eso es exactamente lo que estaba buscando. –