What's the easiest way to render a velocity template from Java code?

What's the easiest way to render a velocity template from Java code?

Use VelocityUtils. You will need to provide VelocityUtils with the name of the template you want to render, and a map of parameters that will be made available within the template as $variables in velocity.

Confluence has a default set of objects for Confluence velocity templates. These are required for most Confluence velocity macros to work properly. To obtain this context, you should call MacroUtils.defaultVelocityContext();.

// Create the Velocity Context
Map context = MacroUtils.defaultVelocityContext();
context.put("myCustomVar", customVar);
context.put("otherCustomVar", otherCustomVar);
// Render the Template
String result = VelocityUtils.getRenderedTemplate("/com/myplugin/templates/macro.vm", context);
RELATED TOPICS

Rendering Velocity templates in a macro
WoW Macro explanation
Macro Plugins

Was this page helpful?

Have a question about this article?

See questions about this article

Powered by Confluence and Scroll Viewport