60 votes

Comment utiliser String comme modèle de vélocité?

Quel est le meilleur moyen de créer un modèle de vélocité à partir d'une chaîne?

Je connais la méthode Velocity.evaluate où je peux passer String ou StringReader, mais je suis curieux de savoir s'il existe un meilleur moyen de le faire (par exemple, tout avantage de créer une instance de Template).

83voto

ZZ Coder Points 36990

Il existe un modèle d'analyse des frais généraux. Vous pourriez constater des gains de performances en analysant au préalable le modèle si celui-ci est volumineux et que vous l'utilisez plusieurs fois. Vous pouvez faire quelque chose comme ça,

 RuntimeServices runtimeServices = RuntimeSingleton.getRuntimeServices();
StringReader reader = new StringReader(bufferForYourTemplate);
SimpleNode node = runtimeServices.parse(reader, "Template name"));
Template template = new Template();
template.setRuntimeServices(runtimeServices);
template.setData(node);
template.initDocument();
 

Ensuite, vous pouvez appeler template.merge() maintes et maintes fois sans l’analyser à chaque fois.

BTW, vous pouvez passer String directement à Velocity.evaluate() .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X