How to read external resources in Velocity

I would like to read {key:value} pairs in Velocity templates (for user macros). These values are placed in an external resource file.

Is this possible?

Thank you,

1 answer

1 accepted

0 votes
Accepted answer

Access to physical files would be a security risk and can't be done directly, Two options:

a) you could do this using a different approach, though a Beanshell (part of bobs Scripting plugin) that could load resources and generate markup. Some scripting/Dev skills required.

b) IIRC you can write a plugin that contributes the necessary resources as part of a plugin, with a Java accessor object written to read the data, that object could then be made available in the velocity context. Dev skills required.

I think b) is the way to go, is there any URL that document this approach?

Thank you.

You'll need to create a plugin with a Velocity Context Module, that bundles the 'helper' you access from Velocity, along with the resources that may be packaged within the plugin or on your local OS if thats what you wanted to do.

- https://developer.atlassian.com/display/CONFDEV/Velocity+Context+Module

Suggest an answer

Log in or Sign up to answer
Community showcase
Posted Feb 06, 2019 in Confluence

Try out the new editing experience

Hi team, I’m Avinoam, a product manager on Confluence Cloud, and today I’m really excited to let the Community know that all customers can now try out the new editing experience and see some of the ...

848 views 41 6
Join discussion

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you