Es gibt einige Overhead-Analysevorlage. Wenn die Vorlage groß ist und Sie sie wiederholt verwenden, kann es zu Leistungssteigerungen kommen, wenn Sie die Vorlage vorlesen. Sie können etwas tun,
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();
Dann können Sie template.merge()
immer und immer wieder aufrufen, ohne sie jedes Mal das Parsen.
Übrigens können Sie String direkt an Velocity.evaluate()
übergeben.
Genau das, was ich suchte. Vielen Dank. Für andere Personen ist runtimeServices eine Instanz von org.apache.velocity.runtime.RuntimeInstance – tomsame
Verpasste einzeilige. Der Vollständigkeit halber habe ich es hinzugefügt. –
+1 für die Erwähnung von Velocity.Evaluate da genau das, was ich gesucht habe. –